您好,登錄后才能下訂單哦!
下文主要給大家?guī)?a title="mysql" target="_blank" href="http://kemok4.com/mysql/">mysql備份主要有哪些工具,希望這些內(nèi)容能夠帶給大家實際用處,這也是我編輯mysql備份主要有哪些工具這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。
備份還原腳本及工具
1)Xtrabackup實現(xiàn)是物理備份,而且是物理熱備
目前主流的有兩個工具可以實現(xiàn)物理熱備:ibbackup和xtrabackup;ibbackup是商業(yè)軟件,需要授權,非常昂貴。而xtrabackup功能比ibbackup還要強大,但卻是開源的。
2)Xtrabackup提供了兩種命令行工具:
xtrabackup:專用于備份InnoDB和XtraDB引擎的數(shù)據(jù);
innobackupex:這是一個perl腳本,在執(zhí)行過程中會調(diào)用xtrabackup命令,這樣用該命令即可以實現(xiàn)備份InnoDB,也可以備份MyISAM引擎的對象。
二 演示步驟
首先 解壓安裝包
復制bin下的所有程序到/usr/bin
Xtrabackup中主要包含兩個工具:
xtrabackup:是用于熱備份innodb, xtradb表中數(shù)據(jù)的工具,支持在線熱備份,可以在不加鎖的情況下備份Innodb數(shù)據(jù)表,不過此工具不能操作Myisam引擎表;
innobackupex:是將xtrabackup進行封裝的perl腳本,能同時處理Innodb和Myisam,但在處理Myisam時需要加一個讀鎖。
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)建當前日期為名字的目錄存放
文件說明
(1)xtrabackup_checkpoints ——備份類型(如完全或增量)、備份狀態(tài)(如是否已經(jīng)為prepared狀態(tài))和LSN(日志序列號)范圍信息;
每個InnoDB頁(通常為16k大小)都會包含一個日志序列號 (2)xtrabackup_binlog_info —— mysql云服務器當前正在使用的二進制日志文件及至備份這一刻為止二進制日志事件的位置。
(3)xtrabackup_binlog_pos_innodb ——二進制日志文件及用于InnoDB或XtraDB表的二進制日志文件的當前position。
(4)xtrabackup_binary ——備份中用到的xtrabackup的可執(zhí)行文件;
(5)backup-my.cnf ——備份命令用到的配置選項信息;
在使用innobackupex進行備份時,還可以使用--no-timestamp選項來阻止命令自動創(chuàng)建一個以時間命名的目錄。
注意:備份數(shù)據(jù)庫的用戶需要具有相應權限,如果要使用一個最小權限的用戶進行備份,則可基于如下命令創(chuàng)建此類用戶:
至此全備完全成功,然后向mysql某個庫插入幾條數(shù)據(jù),然后進行增量備份對完全備份的后數(shù)據(jù)庫更改進行二進制日志增量備份:
查看完全備份時binlog日志位置(position)
模擬修改數(shù)據(jù)庫
增量備份二進制文件
2 還原數(shù)據(jù)庫二進制文件
首先 模擬吧data文件刪除或者轉(zhuǎn)移,然后進行完全備份還原
innobakupex命令的--apply-log選項可用于實現(xiàn)上述功能。--apply-log指明是將日志應用到數(shù)據(jù)文件上,完成之后將備份文件中的數(shù)據(jù)恢復到數(shù)據(jù)庫中:
還原數(shù)據(jù)庫語法:
# innobackupex --copy-back /opt/mysqlbackup/full/2016-09-12_11-29-55/
這里的--copy-back指明是進行數(shù)據(jù)恢復。數(shù)據(jù)恢復完成之后,需要修改相關文件的權限mysql數(shù)據(jù)庫才能正常啟動。
還原數(shù)據(jù)庫語法
data 已經(jīng)成功還原 重新啟動mysql
需要確保所有數(shù)據(jù)文件屬主和屬組
還原成功 但是增量備份還沒有成功
為了防止還原時產(chǎn)生大量的二進制日志,在還原時可臨時關閉二進制日志后再還原:
mysql> set sql_log_bin=0;
mysql> source /opt/mysqlbackup/inc/2016-09-12.sql
還原成功 數(shù)據(jù)成功恢復
重新啟動二進制日志 set sql_log_bin=1;
對于以上關于mysql備份主要有哪些工具,大家是不是覺得非常有幫助。如果需要了解更多內(nèi)容,請繼續(xù)關注我們的行業(yè)資訊,相信你會喜歡上這些內(nèi)容的。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。