北京SEO

linux中利用mysqlhotcopy备份数据脚本示例

2019/10/10/17:46:07  阅读:1781  来源:谷歌SEO算法  标签: SEO培训

mysqlhotcopy备份比起系统自带的备份可强大了些,它是采用SQL级别的备份机制,备份成的文件是sql了,这个都差不多,mysqlhotcopy备份支持的存储引擎常用的有MyISAM,innodb,下面一起来看看.

mysqlhotcopy只是简单的缓存写入和文件复制的过程,占用资源和备份速度比mysqldump快很多很多,特别适合大的数据库,但需要注意的是:mysqlhotcopy只支持MyISAM 引擎

1.安装perl,代码如下:

#yum -y install perl perl-DBI

使用mysqlhotcopy需要安装perl支持,因为mysqlhotcopy是perl写的.

2.安装DBD-mysql,代码如下:

  1. #wgethttp://www.phpfensi.com/upimages/soft/DBD-mysql-4.020.tar.gz
  2. #tarxzvfDBD-mysql-4.020.tar.gz
  3. #cdDBD-mysql-4.020
  4. #perlMakefile.PL--mysql_config=mysql_config
  5. #make
  6. #makeinstall

3.备份示例,代码如下:

#mysqlhotcopy -u root -p 密码 --addtodest 数据库名1 数据库名2 备份目录

4.恢复

停止mysql服务,复制备份的数据库目录到相应的mysql数据目录下,用chown更改目录所有者为mysql服务器运行的用户,启动mysql服务.

5.执行perl Makefile.PL --mysql_config=mysql_config编译的时候如果出现如下错误:

  1. Can'tlocateExtUtils/MakeMaker.pmin@INC(@INCcontains:/usr/local/lib64/perl5/usr/local/share/perl5/usr/lib64/perl5/vendor_perl/usr/share/perl5/vendor_perl/usr/lib64/perl5/usr/share/perl5.)atMakefile.PLline20.
  2. BEGINfailed--compilationabortedatMakefile.PLline20.

解决方法:

#yum -y install perl-ExtUtils-MakeMaker

如果还是不行就用下面两条:

  1. #yum-yinstallperl-ExtUtils-MakeMaker*
  2. #yum-yinstallperl-Time-HiRes*

6.mysqldump和mysqlhotcopy备份shell脚本示例,mysqlbackup.sh,代码如下:

  1. #!/bin/bash
  2. #Enviroment
  3. PATH=/usr/local/sbin:/usr/bin:/bin
  4. #ConfigureTheDirectoryofBackup
  5. BACKUPDIR=/data/backup/mysql#mysqlbackupdir
  6. SAVE=4#howmanydaystosavelastest
  7. HOST=192.168.10.32#mysqlhost
  8. ROOT=root#mysqlaccount
  9. ROOTPASS='XXXXXX'#mysqlrootpassword
  10. DUMPLIST='mysqldatabase1database2database3'#backupwithmysqldump
  11. HOTCOPYLIST='database4'#backupwithmysqlhotcopy
  12. #define
  13. SQLDIR=$BACKUPDIR/sql/#mysqldumptosqlsavepath
  14. HOTCOPYDIR=$BACKUPDIR/hotcopy/#mysqlhotcopycopyfilespath
  15. TMPDIR=$BACKUPDIR/tmp#temporarydir
  16. DATETIME=`date-dnow+%Y-%m-%d_%H-%M`#createdatedir
  17. #CreateDirectory
  18. if[!-d$SQLDIR];then
  19. mkdir-p$SQLDIR
  20. fi
  21. if[!-d$HOTCOPYDIR];then
  22. mkdir-p$HOTCOPYDIR
  23. fi
  24. rm-rf$TMPDIR
  25. mkdir-p$TMPDIR
  26. #-----BackupMySQL-----
  27. #BackupwithDatabase
  28. fordbnamein$DUMPLIST
  29. do
  30. mysqldump-h$HOST-u$ROOT-p$ROOTPASS$dbname>$TMPDIR/$dbname.sql
  31. done
  32. fordbnamein$HOTCOPYLIST
  33. do
  34. mysqlhotcopy-u$ROOT-p$ROOTPASS$dbname$TMPDIR
  35. done
  36. #movehotcopydir
  37. cd$HOTCOPYDIR
  38. mkdir-p$DATETIME
  39. cd$DATETIME
  40. fordbnamein$HOTCOPYLIST
  41. do//phpfensi.com
  42. mv../../tmp/$dbname./
  43. done
  44. #createMySQLtar
  45. cd$SQLDIR
  46. tar-czf$SQLDIR/mysql_backup.$DATETIME.tar.gz../tmp
  47. rm-fr$TMPDIR
  48. find$SQLDIR-typef-mtime+$SAVE|xargsrm-f
  49. find$HOTCOPYDIR-typed-mtime+$SAVE|xargsrm-rf

广告内容

linux中利用mysqlhotcopy备份数据脚本示例 linux中利用mysqlhotcopy备份数据脚本示例 linux中利用mysqlhotcopy备份数据脚本示例

相关阅读

热门评论

小浪SEO博客 小浪SEO博客

专注SEO优化思维、SEO技术的实战分享类博客~

总篇数183

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法