国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux中利用mysqlhotcopy備份數據腳本示例

2024-08-27 23:59:02
字體:
來源:轉載
供稿:網友

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. #wget http://m.survivalescaperooms.com/upimages/soft/DBD-mysql-4.020.tar.gz 
  2.  
  3. #tar xzvf DBD-mysql-4.020.tar.gz 
  4.  
  5. #cd DBD-mysql-4.020 
  6.  
  7. #perl Makefile.PL --mysql_config=mysql_config 
  8.  
  9. #make 
  10.  
  11. #make install 

3.備份示例,代碼如下:

#mysqlhotcopy -u root -p 密碼 --addtodest 數據庫名1 數據庫名2 備份目錄

4.恢復

停止mysql服務,復制備份的數據庫目錄到相應的mysql數據目錄下,用chown更改目錄所有者為mysql服務器運行的用戶,啟動mysql服務.

5.執行perl Makefile.PL --mysql_config=mysql_config編譯的時候如果出現如下錯誤:

  1. Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 20. 
  2. BEGIN failed--compilation aborted at Makefile.PL line 20. 

解決方法:

#yum -y install perl-ExtUtils-MakeMaker

如果還是不行就用下面兩條:

  1. #yum -y install perl-ExtUtils-MakeMaker* 
  2. #yum -y install perl-Time-HiRes* 

6.mysqldump和mysqlhotcopy備份shell腳本示例,mysqlbackup.sh,代碼如下:

  1. #!/bin/bash 
  2. # Enviroment 
  3. PATH=/usr/local/sbin:/usr/bin:/bin 
  4. # Configure The Directory of Backup 
  5. BACKUPDIR=/data/backup/mysql # mysql backup dir 
  6. SAVE=4 #how many days to save lastest  
  7. HOST=192.168.10.32 # mysql host 
  8. ROOT=root # mysql account  
  9. ROOTPASS='XXXXXX' # mysql root password 
  10. DUMPLIST='mysql database1 database2 database3' # backup with mysqldump 
  11. HOTCOPYLIST='database4' # backup with mysqlhotcopy 
  12. # define 
  13. SQLDIR=$BACKUPDIR/sql/ # mysqldump to sql save path 
  14. HOTCOPYDIR=$BACKUPDIR/hotcopy/ # mysqlhotcopy copy files path 
  15. TMPDIR=$BACKUPDIR/tmp # temporary dir 
  16. DATETIME=`date -d now +%Y-%m-%d_%H-%M` # create date dir 
  17. # Create Directory 
  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. # ----- Backup MySQL ----- 
  27. # Backup with Database 
  28. for dbname in $DUMPLIST 
  29. do 
  30.     mysqldump -h$HOST -u$ROOT -p$ROOTPASS $dbname > $TMPDIR/$dbname.sql 
  31. done 
  32. for dbname in $HOTCOPYLIST 
  33. do 
  34.    mysqlhotcopy -u $ROOT -p $ROOTPASS $dbname $TMPDIR 
  35. done 
  36. # move hotcopy dir 
  37. cd $HOTCOPYDIR 
  38. mkdir -p $DATETIME 
  39. cd $DATETIME 
  40. for dbname in $HOTCOPYLIST 
  41. do  //Vevb.com 
  42.    mv ../../tmp/$dbname ./ 
  43. done 
  44. # create MySQL tar 
  45. cd $SQLDIR 
  46. tar -czf $SQLDIR/mysql_backup.$DATETIME.tar.gz ../tmp 
  47. rm -fr $TMPDIR 
  48. find $SQLDIR -type f -mtime +$SAVE | xargs rm -f 
  49. find $HOTCOPYDIR -type d -mtime +$SAVE | xargs rm -rf

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴业县| 库车县| 通河县| 和平县| 江陵县| 射洪县| 鄂伦春自治旗| 阿合奇县| 乌兰浩特市| 扶风县| 新平| 蒙城县| 屏东市| 青田县| 通山县| 新泰市| 禹州市| 北碚区| 旌德县| 隆子县| 江油市| 托里县| 新沂市| 马公市| 浠水县| 景东| 昌平区| 苍梧县| 通辽市| 东港市| 德江县| 大同县| 霸州市| 磴口县| 新源县| 德兴市| 土默特左旗| 陆川县| 丽江市| 彭州市| 衡南县|