溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL 8.0.11 innodb cluster運(yùn)維管理中如何進(jìn)行備份

發(fā)布時(shí)間:2021-09-28 11:48:07 來源:億速云 閱讀:221 作者:柒染 欄目:MySQL數(shù)據(jù)庫

本篇文章為大家展示了MySQL 8.0.11 innodb cluster運(yùn)維管理中如何進(jìn)行備份,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

MySQL 8.0.11 innodb cluster 運(yùn)維管理-msyqlbackup備份

Mysqlbackup 介紹

mysqlbackup是一個(gè)熱備份工具、也就是說它不像mysqldump那樣給表上一個(gè)全局鎖,由于mysqldump上了這個(gè)鎖,所以就造成客戶端只能對(duì)數(shù)據(jù)庫進(jìn)行讀操作不能寫,這也就是稱mysqldump為溫備份的原因。但是mysqlbackup真的有這么吊嗎?答案是并沒有。對(duì)于innodb引擎的表mysqlbackup 熱備的;但是對(duì)于非innodb表mysqlbackup就只能溫備了,原因是這類引擎不支持事務(wù)也就是說不能通過事務(wù)日志來保證備份的一致性,所以就只能給表加上一個(gè)全局鎖來解決了。為了得到一致的備份mysqlbackup要不停的去追蹤mysql數(shù)據(jù)庫的sln號(hào),也就是說mysqlbackup要執(zhí)行備份那么它一定要連接上數(shù)據(jù)庫。mysqlbackup對(duì)數(shù)據(jù)庫的備份是通過復(fù)制文件的方式進(jìn)行的,也就是說mysqlbackup要和數(shù)據(jù)庫在同一臺(tái)機(jī)器上,和xtrabackup 很相似的。

安裝 mysqlbackup

Mysqlbackup 是企業(yè)版mysql中的,但可以拿來使用,登錄oracle云下載,搜索mysql backup,下載二進(jìn)制文件
mysql-commercial-backup-8.0.11-linux-glibc2.12-x86_64.tar.gz
傳到主機(jī)上并解壓,
會(huì)有 bin  和lib 文件夾,將其中的文件拷貝到 /usr/local/mysql 對(duì)應(yīng)的目錄中, 這里要把 軟連接,庫全部拷貝的,不然會(huì)報(bào)錯(cuò)

備份用戶

(官方指導(dǎo)命令)

CREATE USER 'backup'@'localhost' IDENTIFIED BY '$$$$$$$$$$$$$$';
GRANT RELOAD ON *.* TO 'backup'@'localhost';
GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_progress TO 'backup'@'localhost';
GRANT CREATE, INSERT, SELECT, DROP, UPDATE ON mysql.backup_history TO 'backup'@'localhost';
GRANT REPLICATION CLIENT ON *.* TO 'backup'@'localhost';
GRANT SUPER ON *.* TO 'backup'@'localhost';
GRANT PROCESS ON *.* TO 'backup'@'localhost';
GRANT ALTER ON mysql.backup_history TO 'backup'@'localhost';  #此表在主庫上備份才會(huì)生成和寫入
GRANT LOCK TABLES, SELECT, CREATE, DROP, FILE ON *.* TO 'backup'@'localhost';
GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_sbt_history TO 'backup'@'localhost';#此表僅在主庫上有效

全量備份

##備份到/fullbak/2018-10-10_19-19-11/datadir 類似這樣的目錄中
mysqlbackup --backup-dir=/data/backup/fullbak --host=127.0.0.1 --port=3306 --user=backup --password=$$$$$$$$ --with-timestamp backup
##############備份到/fullbak/2018-10-10_19-19-11/full_backup.bki 這樣一個(gè)單文件中,以后不用備份單文件,我們自己壓縮備份更小
mysqlbackup --backup-dir=/data/backup/fullbak --host=127.0.0.1 --port=3306 --user=backup --password=$$$$$$$$$$$ --backup-image=full_backup.bki  --with-timestamp backup-to-image

    --user:用戶名。
    --password:密碼。
    --port:端口,默認(rèn)值為3306。
    --backup-dir:可以看成是mysqlback的工作目錄,臨時(shí)用的。
    --backup-image:備份文件名,這個(gè)是最終要的文件,別的都可以不要。位置可以不帶路徑,默認(rèn)放到 backup-dir
    backup-to-image:把所有的備份信息輸出到一個(gè)備份文件當(dāng)中
--with-timepstap: 會(huì)自動(dòng)生成一個(gè)帶日期文件夾,這里放的是備份時(shí)用的臨時(shí)文件和最后的備份鏡像(不指定鏡像位置的化)

增量備份

實(shí)際證明,單文件備份是無法進(jìn)行恢復(fù)的,下面這個(gè)例子放棄
mysqlbackup --backup-dir=/data/backup --host=127.0.0.1 --port=3306 --user=backup --password=Qs3ce3saadr37tpP --incremental-with-redo-log-only --incremental-base=history:last_backup --with-timestamp   --backup-image=incre_backup.bki backup-to-image

不備份成單個(gè)文件,增量備份貌似也不支持,這個(gè)是可以進(jìn)行恢復(fù)的 指定了備份到的增量目錄和增量的基源

mysqlbackup --incremental-backup-dir=/data/backup/increbak --host=127.0.0.1 --port=3306 --user=backup --password=Qs3ce3saadr37tpP --incremental  --incremental-base=history:last_backup --with-timestamp   --backup-image=incre_backup.bki backup

一定要先執(zhí)行上面的全備, last_backup 這個(gè)備份參數(shù)會(huì)在數(shù)據(jù)庫中找,然而,這個(gè)備份要在主庫進(jìn)行,不能再從庫,因?yàn)閺膸觳粚憘浞菪畔ⅰ?/p>

跨主機(jī)遠(yuǎn)程備份

#########備份到其他服務(wù)器
The following command streams the backup as a single-file output to a remote host to be saved under
the file name my_backup.img (--backup-dir=/tmp designates the directory for storing temporary files
rather than the final output file):

mysqlbackup --defaults-file=~/my_backup.cnf --backup-image=- --backup-dir=/tmp backup-to-image | \
ssh <user name>@<remote host name> 'cat > ~/backups/my_backup.img'

上述內(nèi)容就是MySQL 8.0.11 innodb cluster運(yùn)維管理中如何進(jìn)行備份,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI