本篇文章為大家展示了MySQL 8.0.11 innodb cluster運維管理中如何進行備份,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
站在用戶的角度思考問題,與客戶深入溝通,找到安新網(wǎng)站設(shè)計與安新網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、主機域名、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋安新地區(qū)。mysqlbackup是一個熱備份工具、也就是說它不像mysqldump那樣給表上一個全局鎖,由于mysqldump上了這個鎖,所以就造成客戶端只能對數(shù)據(jù)庫進行讀操作不能寫,這也就是稱mysqldump為溫備份的原因。但是mysqlbackup真的有這么吊嗎?答案是并沒有。對于innodb引擎的表mysqlbackup 熱備的;但是對于非innodb表mysqlbackup就只能溫備了,原因是這類引擎不支持事務也就是說不能通過事務日志來保證備份的一致性,所以就只能給表加上一個全局鎖來解決了。為了得到一致的備份mysqlbackup要不停的去追蹤mysql數(shù)據(jù)庫的sln號,也就是說mysqlbackup要執(zhí)行備份那么它一定要連接上數(shù)據(jù)庫。mysqlbackup對數(shù)據(jù)庫的備份是通過復制文件的方式進行的,也就是說mysqlbackup要和數(shù)據(jù)庫在同一臺機器上,和xtrabackup 很相似的。
Mysqlbackup 是企業(yè)版mysql中的,但可以拿來使用,登錄oracle云下載,搜索mysql backup,下載二進制文件
mysql-commercial-backup-8.0.11-linux-glibc2.12-x86_64.tar.gz
傳到主機上并解壓,
會有 bin 和lib 文件夾,將其中的文件拷貝到 /usr/local/mysql 對應的目錄中, 這里要把 軟連接,庫全部拷貝的,不然會報錯
(官方指導命令)
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'; #此表在主庫上備份才會生成和寫入 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 這樣一個單文件中,以后不用備份單文件,我們自己壓縮備份更小 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:端口,默認值為3306。
--backup-dir:可以看成是mysqlback的工作目錄,臨時用的。
--backup-image:備份文件名,這個是最終要的文件,別的都可以不要。位置可以不帶路徑,默認放到 backup-dir
backup-to-image:把所有的備份信息輸出到一個備份文件當中
--with-timepstap: 會自動生成一個帶日期文件夾,這里放的是備份時用的臨時文件和最后的備份鏡像(不指定鏡像位置的化)
實際證明,單文件備份是無法進行恢復的,下面這個例子放棄
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
不備份成單個文件,增量備份貌似也不支持,這個是可以進行恢復的 指定了備份到的增量目錄和增量的基源
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 這個備份參數(shù)會在數(shù)據(jù)庫中找,然而,這個備份要在主庫進行,不能再從庫,因為從庫不寫備份信息。
#########備份到其他服務器
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
上述內(nèi)容就是MySQL 8.0.11 innodb cluster運維管理中如何進行備份,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。