《Mysql學(xué)習(xí)MySQL使用xtrabackup進(jìn)行備份還原操作》要點(diǎn):
本文介紹了Mysql學(xué)習(xí)MySQL使用xtrabackup進(jìn)行備份還原操作,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
本文實(shí)例為大家分享了xtrabackup備份還原的具體代碼,供大家參考,具體內(nèi)容如下MYSQL實(shí)例
使用rpm包安裝xtrabackupMYSQL實(shí)例
## 安裝依賴包 yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL rsync ## 安裝libev4包 rpm -ivh libev4-4.15-7.1.x86_64.rpm ## 安裝percona-xtrabackup rpm -ivh percona-xtrabackup-24-2.4.4-1.el6.x86_64.rpm
為備份操作創(chuàng)建MySQL賬戶.MYSQL實(shí)例
## xtrabackup備份創(chuàng)建備份用戶 CREATE USER 'backuper'@'localhost' IDENTIFIED BY 'backup@123'; GRANT SELECT, RELOAD, PROCESS, SHOW DATABASES, SUPER, LOCK TABLES, REPLICATION CLIENT, SHOW VIEW, EVENT ON *.* TO 'backuper'@'localhost'; FLUSH PRIVILEGES;
創(chuàng)建備份文件目錄MYSQL實(shí)例
mkdir /export/mysql_backup?MYSQL實(shí)例
對(duì)數(shù)據(jù)庫進(jìn)行完整備份,如果在從庫上進(jìn)行備份,請(qǐng)?zhí)砑?-slave_info Csafe-slave-backup參數(shù)來獲取復(fù)制主庫的binlog信息.默認(rèn)備份會(huì)將當(dāng)前庫的binlog信息保存到xtrabackup_binlog_info文件中,而--slave_info參數(shù)將復(fù)制主庫的binlog信息保存到xtrabackup_slave_info中,如果使用備份來添加復(fù)制,請(qǐng)注意選取正確的binlog信息.MYSQL實(shí)例
## 進(jìn)行完整備份并壓縮 innobackupex --defaults-file="/export/servers/mysql/etc/my.cnf" \ --host="localhost" \ --port=3358 \ --user="backuper" \ --password="backup@123" \ --socket="/export/data/mysql/tmp/mysql.sock" \ --stream=tar \ "/export/mysql_backup/" | gzip -> "/export/mysql_backup/mysql_full_backup.tar.gz"
注意檢查命令是否成功執(zhí)行,使用tar備份能有效降低備份文件的大小,但是壓縮和加壓縮都會(huì)嚴(yán)重消耗cpu資源.?MYSQL實(shí)例
假設(shè)進(jìn)行完上面操作,將備份文件拷貝到新的服務(wù)器上,同樣放到/export/mysql_backup/下MYSQL實(shí)例
解壓備份文件MYSQL實(shí)例
## 切換到備份壓縮文件所在目錄 ## 強(qiáng)烈建議創(chuàng)建一個(gè)空的目錄來存放備份文件,以避免解壓后的文件與其他文件沖突 cd /export/mysql_backup/ ##加壓備份 tar xvf mysql_full_backup.tar.gz
使用xtrabackup備份得到的數(shù)據(jù)是備份結(jié)束時(shí)間點(diǎn)的數(shù)據(jù),備份期間所產(chǎn)生的事務(wù)日志被保存到備份文件xtrabackup_logfile中,因此需要先對(duì)備份文件進(jìn)行日志重做和回滾未提交事務(wù).--apply-log還會(huì)根據(jù)backup-my.cnf來生成新的事務(wù)日志文件.MYSQL實(shí)例
#使用apply-log參數(shù)來處理事務(wù)日志 innobackupex --apply-log /export/mysql_backup/
由于在還原時(shí)要求目標(biāo)目錄為空,而即使新安裝的MySQL服務(wù)器也會(huì)存在一些如系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)文件,因此在將備份還原到MySQL之前,需要將當(dāng)前MySQL數(shù)據(jù)目錄下的文件進(jìn)行情況,為保險(xiǎn)期間,建議先使用mv命令來改名.MYSQL實(shí)例
#備份當(dāng)前MySQL的數(shù)據(jù)目錄 mv /export/data/mysql /export/data/mysql_bak
?xtrbackup備份操作只備份數(shù)據(jù)相關(guān)的文件,并不會(huì)備份如錯(cuò)誤日志/慢日志等文件或目錄,而上一步操作mv可能移除掉部分文件目錄,因此需要手動(dòng)再創(chuàng)建一遍.MYSQL實(shí)例
## 創(chuàng)建MySQL數(shù)據(jù)目錄 mkdir -p /export/data/mysql/tmp /export/data/mysql/data /export/data/mysql/dumps /export/data/mysql/log
?使用move-back參數(shù)來將數(shù)據(jù)移動(dòng)到MySQL數(shù)據(jù)目錄下,同樣也可以使用--copy-back參數(shù)來只拷貝而不復(fù)制.MYSQL實(shí)例
innobackupex --defaults-file="/export/servers/mysql/etc/my.cnf" --move-back /export/mysql_backup/?MYSQL實(shí)例
數(shù)據(jù)復(fù)制到MySQL數(shù)據(jù)目錄后,需要修改這些數(shù)據(jù)文件的所有者,保證MySQL服務(wù)有權(quán)限把持.MYSQL實(shí)例
#修改MySQL數(shù)據(jù)目錄的權(quán)限 chown -R mysql:mysql /export/data/mysql
最終啟動(dòng)MySQL服務(wù),檢查數(shù)據(jù)是否正常MYSQL實(shí)例
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所贊助,也希望大家多多支持維易PHP.MYSQL實(shí)例
歡迎參與《Mysql學(xué)習(xí)MySQL使用xtrabackup進(jìn)行備份還原操作》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/13082.html