程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> CentOS下使用mysqlhotcopy定時備份MySQL數據庫(MyISAM存儲引擎)

CentOS下使用mysqlhotcopy定時備份MySQL數據庫(MyISAM存儲引擎)

編輯:MySQL綜合教程

CentOS下使用mysqlhotcopy定時備份MySQL數據庫(MyISAM存儲引擎)   mysqlhotcopy與mysqldump比較:   前者是一個快速文件意義上的COPY,後者是一個數據庫端的SQL語句集合。 前者只能運行在數據庫目錄所在的機器上,後者可以用在遠程客戶端,不過備份的文件還是保存在服務器上。   www.2cto.com   相同的地方都是在線執行 LOCK TABLES 以及 UNLOCK TABLES 前者恢復只需要COPY備份文件到源目錄覆蓋即可,後者需要導入SQL文件到原庫中。(source 或 mysql < bakfile.sql) 前者只適用於 MyISAM 引擎,而後則則可同時使用於MyISAM引擎和InodDB引擎. 前者在使用前必須安裝perl-DBD-mysql包,而後者則不需要.   使用mysqlhotcopy之前需要安裝perl-DBI和DBD-mysql:   www.2cto.com   1 yum -y install perl perl-DBI Shell腳本如下: 01 # Name:mysqlbackup.sh 02 # PS:MySQL DataBase Backup,Use mysqlhotcopy script. 03 # Last Modify:2008-06-12 04 # 定義變量,請根據具體情況修改 05 # 定義腳本所在目錄 06 scriptsDir=`pwd` 07 # 數據庫的數據目錄 08 dataDir=/usr/local/mysql/var/ 09 # 數據備份目錄 10 tmpBackupDir=/tmp/mysqlblackup 11 backupDir=/home/backup/mysql 12 # 用來備份數據庫的用戶名和密碼 13 mysqlUser=root 14 mysqlPWD='456123' 15 # 如果臨時備份目錄存在,清空它,如果不存在則創建它 16 if [[ -e $tmpBackupDir ]]; then 17         rm -rf $tmpBackupDir/* 18 else 19         mkdir $tmpBackupDir 20 fi 21   22 # 如果備份目錄不存在則創建孾C 23 if [[ ! -e $backupDir ]];then 24         mkdir $backupDir 25 fi 26 # 得到數據庫備份列表,在此可以過濾不想備份的數據庫 27   28 for databases in `find $dataDir -type d | \ 29   30 sed -e "s/\/usr\/local\/mysql\/var\///" | \ 31   32 sed -e "s/test//"`; do 33   34 if [[ $databases == "" ]]; then 35   36         continue 37 else 38 # 備份數據 39   40 /usr/local/mysql/bin/mysqlhotcopy --user=$mysqlUser --password=$mysqlPWD -q "$databases" $tmpBackupDir 41   42 dateTime=`date "+%Y.%m.%d %H:%M:%S"` 43   44 echo "$dateTime Database:$databases backup success!" >>MySQLBackup.log 45   46 fi 47   48 done 49   50 # 壓縮備份文件 51   52 date=`date -I` 53   54 cd $tmpBackupDir 55   56 tar czf $backupDir/mysql-$date.tar.gz ./ 57   58 #En<span></span>d完成 加入定時任務   1 30 5 * * * /root/mysqlbackup.sh >> mysqlbackup.log 2>&1 如何還原?  1、停止mysql服務器。  2、復制備份的數據庫目錄到mysql數據目錄下。  3、更改目錄所有者為mysql服務器運行的用戶(如mysql)。  4、啟動mysql服務器  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved