主頁 > 知識庫 > xtrabackup備份還原MySQL數(shù)據(jù)庫

xtrabackup備份還原MySQL數(shù)據(jù)庫

熱門標(biāo)簽:地圖標(biāo)注人員兼職 電子地圖標(biāo)注電話 聊城智能外呼系統(tǒng)運營商 扎樣申請400電話 沈陽電銷外呼系統(tǒng)原理是什么 上海智能外呼系統(tǒng)代理商 成都優(yōu)派外呼系統(tǒng) ps制作地圖標(biāo)注gif 寧波企業(yè)外呼系統(tǒng)收費

mysqldump 備份鑒于其自身的某些特性(鎖表,本質(zhì)上備份出來insert腳本或者文本,不支持差異備份),不太適合對實時性要求比較高的情況
Xtrabackup可以解決mysqldump存在的上述的一些問題,生產(chǎn)環(huán)境應(yīng)用的也會更多一些。
本文簡單測試一下Xtrabackup對MySQL數(shù)據(jù)庫的備份還原操作。

本著先把功能先擼起來再深入細節(jié)的原則,粗略地實現(xiàn)了一個備份還原,并未深入細節(jié)。

網(wǎng)上有不少xtrabackup的文章,因為環(huán)境不一樣,有些需要配置xtrabackup的配置文件,
但是我在xtrabackup 2.4.7版本下測試就需要需求任何配置文件??赡苁敲總€版本都的細節(jié)上都不一樣,因此參考資料的時候要注意版本和環(huán)境。

innobackupex 備份

xtrabackup和MySQL的版本如下

完整備份

復(fù)制代碼 代碼如下:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock /data/backup

說明:

1.--defaults-file=/etc/my.cnf文件必須在最前面
2.--user=root --password=root,--use=***與 --password=*** 中間一定要有空格,

如截圖,完整備份完成

如截圖,完整備份會創(chuàng)建一個日期(年月日時分秒,yyyy-MM-dd_hh-mm-ss)命名的文件
完整備份出來的內(nèi)存,實際上是對所備份的數(shù)據(jù)庫的數(shù)據(jù)文件的copy加上備份時候產(chǎn)生的一些信息,比如xtrabackup_checkpoints就是當(dāng)前完整備份的一些個信息,這個信息對差異備份非常重要。

  差異備份

  差異備份之所以能夠做到差異,就是依賴于完整備份的,在完整備份的基礎(chǔ)上進行完整備份之后的差異的備份。
  而如何確定完整的備份之后備份到哪里,就依賴于完整備份之后的xtrabackup_checkpoints這個文件的。
  innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock --incremental /data/backup --incremental-basedir=/data/backup/2017-06-22_13-40-29

如截圖,差異備份完成

如果在進行差異備份的時候,指定的完整備份的文件錯誤或者是未指定完整備份文件,會發(fā)現(xiàn)xtrabackup提示找不到xtrabackup_checkpoints這個文件。

innobackupex 還原

  準(zhǔn)備階段

  1、恢復(fù)完整備份,也即完整備份應(yīng)用(--apply-log)日志
    innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only --socket=/var/lib/mysql/mysql.sock /data/backup/2017-06-22_13-40-29

  2、分別將增量備份應(yīng)用到完整備份
    innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only --socket=/var/lib/mysql/mysql.sock --incremental /data/backup/2017-06-22_13-40-29 --incremental-basedir=/data/backup/2017-06-22_13-41-48

  如果有多個差異備份,分別應(yīng)用差異備份到完整備份。

  恢復(fù)階段

  1、完成差異備份的全部應(yīng)用到完整備份之后,將恢復(fù)后的差異備份copy到原數(shù)據(jù)目錄
    默認情況下,如果數(shù)據(jù)路徑下存在文件,則copy失敗,需要清空數(shù)據(jù)文件路徑下的文件。
    innobackupex --copy-back /data/backup/2017-06-22_13-40-29
    如截圖,完成copy-back

  2、啟動MySQL服務(wù)

  啟動mysql服務(wù),發(fā)現(xiàn)啟動失敗

看一下錯誤日志(啟動錯誤信息),mysql5.7yum安裝默認的errorlog位于/var/log/mysqld.log中,且默認不會滾動,意味著所有的錯誤信息都記錄在這個文件中。

  數(shù)據(jù)文件還原之后,需要讀數(shù)據(jù)文件路徑授予可讀寫的權(quán)限
  這里直接授權(quán)數(shù)據(jù)文件路徑777,chmod -R 777 /var/lib/mysql
  然后啟動mysql服務(wù),可以正常啟動。

xtrabackupex才剛剛開始,留下一大堆問題,有時間再一個一個驗證。

  1、怎么實現(xiàn)單個庫(表)的備份與還原,畢竟實際環(huán)境中,因為每個庫備份的頻率和方式(備份方案)是不一樣的?

  2、怎么用全備+差異備份然后結(jié)合二進制日志做基于時間點的方式還原?

  3、如何驗證備份文件的有效性?

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 安裝使用Percona XtraBackup來備份恢復(fù)MySQL的教程
  • 利用Xtrabackup工具備份及恢復(fù)(MySQL DBA的必備工具)
  • mysql xtrabackup 備份恢復(fù)實現(xiàn)分享
  • MySQL使用Xtrabackup備份流程詳解
  • MySQL使用xtrabackup進行備份還原操作
  • 使用xtrabackup實現(xiàn)mysql備份
  • 編寫腳本令Xtrabackup對MySQL數(shù)據(jù)進行備份的教程
  • MySQL中使用innobackupex、xtrabackup進行大數(shù)據(jù)的備份和還原教程
  • MySQL如何使用使用Xtrabackup進行備份和恢復(fù)

標(biāo)簽:AXB 朔州 宿州 三明 林芝 汕頭 咸寧 內(nèi)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《xtrabackup備份還原MySQL數(shù)據(jù)庫》,本文關(guān)鍵詞  xtrabackup,備份,還原,MySQL,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《xtrabackup備份還原MySQL數(shù)據(jù)庫》相關(guān)的同類信息!
  • 本頁收集關(guān)于xtrabackup備份還原MySQL數(shù)據(jù)庫的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章