下文主要給大家?guī)鞰ySQL備份主要有哪些工具,希望這些內(nèi)容能夠帶給大家實(shí)際用處,這也是我編輯mysql備份主要有哪些工具這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。
10余年的榮昌網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整榮昌建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“榮昌網(wǎng)站設(shè)計(jì)”,“榮昌網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
備份還原腳本及工具
1)Xtrabackup實(shí)現(xiàn)是物理備份,而且是物理熱備
目前主流的有兩個(gè)工具可以實(shí)現(xiàn)物理熱備:ibbackup和xtrabackup;ibbackup是商業(yè)軟件,需要授權(quán),非常昂貴。而xtrabackup功能比ibbackup還要強(qiáng)大,但卻是開源的。
2)Xtrabackup提供了兩種命令行工具:
xtrabackup:專用于備份InnoDB和XtraDB引擎的數(shù)據(jù);
innobackupex:這是一個(gè)perl腳本,在執(zhí)行過程中會調(diào)用xtrabackup命令,這樣用該命令即可以實(shí)現(xiàn)備份InnoDB,也可以備份MyISAM引擎的對象。
二 演示步驟
首先 解壓安裝包
復(fù)制bin下的所有程序到/usr/bin
Xtrabackup中主要包含兩個(gè)工具:
xtrabackup:是用于熱備份innodb, xtradb表中數(shù)據(jù)的工具,支持在線熱備份,可以在不加鎖的情況下備份Innodb數(shù)據(jù)表,不過此工具不能操作Myisam引擎表;
innobackupex:是將xtrabackup進(jìn)行封裝的perl腳本,能同時(shí)處理Innodb和Myisam,但在處理Myisam時(shí)需要加一個(gè)讀鎖。
3)安裝插件 使用yum
yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-TermReadKey.x86_64 perl-Digest-MD5–y
方案一:xtrabackup完全備份+binlog增量備份
創(chuàng)建備份目錄
完全備份
innobackupex --user=root --password=123456 /opt/mysqlbackup/full 出現(xiàn)OK 完成
注: --defaults-file=/etc/my.cnf 指定mysql的配置文件my.cfg,如果指定則必須是第一參數(shù)。
備份數(shù)據(jù)庫會會在備份目錄下創(chuàng)建當(dāng)前日期為名字的目錄存放
文件說明
(1)xtrabackup_checkpoints ——備份類型(如完全或增量)、備份狀態(tài)(如是否已經(jīng)為prepared狀態(tài))和LSN(日志序列號)范圍信息;
每個(gè)InnoDB頁(通常為16k大小)都會包含一個(gè)日志序列號 (2)xtrabackup_binlog_info —— mysql云服務(wù)器當(dāng)前正在使用的二進(jìn)制日志文件及至備份這一刻為止二進(jìn)制日志事件的位置。
(3)xtrabackup_binlog_pos_innodb ——二進(jìn)制日志文件及用于InnoDB或XtraDB表的二進(jìn)制日志文件的當(dāng)前position。
(4)xtrabackup_binary ——備份中用到的xtrabackup的可執(zhí)行文件;
(5)backup-my.cnf ——備份命令用到的配置選項(xiàng)信息;
在使用innobackupex進(jìn)行備份時(shí),還可以使用--no-timestamp選項(xiàng)來阻止命令自動創(chuàng)建一個(gè)以時(shí)間命名的目錄。
注意:備份數(shù)據(jù)庫的用戶需要具有相應(yīng)權(quán)限,如果要使用一個(gè)最小權(quán)限的用戶進(jìn)行備份,則可基于如下命令創(chuàng)建此類用戶:
至此全備完全成功,然后向mysql某個(gè)庫插入幾條數(shù)據(jù),然后進(jìn)行增量備份對完全備份的后數(shù)據(jù)庫更改進(jìn)行二進(jìn)制日志增量備份:
查看完全備份時(shí)binlog日志位置(position)
模擬修改數(shù)據(jù)庫
增量備份二進(jìn)制文件
2 還原數(shù)據(jù)庫二進(jìn)制文件
首先 模擬吧data文件刪除或者轉(zhuǎn)移,然后進(jìn)行完全備份還原
innobakupex命令的--apply-log選項(xiàng)可用于實(shí)現(xiàn)上述功能。--apply-log指明是將日志應(yīng)用到數(shù)據(jù)文件上,完成之后將備份文件中的數(shù)據(jù)恢復(fù)到數(shù)據(jù)庫中:
還原數(shù)據(jù)庫語法:
# innobackupex --copy-back /opt/mysqlbackup/full/2016-09-12_11-29-55/
這里的--copy-back指明是進(jìn)行數(shù)據(jù)恢復(fù)。數(shù)據(jù)恢復(fù)完成之后,需要修改相關(guān)文件的權(quán)限mysql數(shù)據(jù)庫才能正常啟動。
還原數(shù)據(jù)庫語法
data 已經(jīng)成功還原 重新啟動mysql
需要確保所有數(shù)據(jù)文件屬主和屬組
還原成功 但是增量備份還沒有成功
為了防止還原時(shí)產(chǎn)生大量的二進(jìn)制日志,在還原時(shí)可臨時(shí)關(guān)閉二進(jìn)制日志后再還原:
mysql> set sql_log_bin=0;
mysql> source /opt/mysqlbackup/inc/2016-09-12.sql
還原成功 數(shù)據(jù)成功恢復(fù)
重新啟動二進(jìn)制日志 set sql_log_bin=1;
對于以上關(guān)于mysql備份主要有哪些工具,大家是不是覺得非常有幫助。如果需要了解更多內(nèi)容,請繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會喜歡上這些內(nèi)容的。