001、mysqlbackup介紹:
mysqlbackup是一個熱備份工具、也就是說它不像mysqldump那樣給表上一個全局鎖,由於mysqldump上了這個鎖,所以就造成客戶端只能對
數據庫進行讀操作不能寫,這也就是稱mysqldump為溫備份的原因。但是mysqlbackup真的有這么吊嗎?答案是並沒有。對於innodb引擎的表
mysqlbackup 熱備的;但是對於非innodb表mysqlbackup就只能溫備了,原因是這類引擎不支持事務也就是說不能通過事務日志來保證備份的
一致性,所以就只能給表加上一個全局鎖來解決了。為了得到一致的備份mysqlbackup要不停的去追蹤mysql數據庫的sln號,也就是說mysqlback
要執行備份那么它一定要連接上數據庫。mysqlbackup對數據庫的備份是通過復制文件的方式進行的,也就是說mysqlback要和數據庫在同一台機器
上。
002、備份用戶的創建與授權
grant reload on *.* to mybackup@'localhost' identified by '131417'; grant create,insert,drop,update on mysql.backup_progress to mybackup@'localhost'; grant create,insert,drop,update,select on mysql.backup_history to mybackup@'localhost'; grant super on *.* to mybackup@'localhost'; grant replication client on *.* to mybackup@'localhost'; grant process on *.* to mybackup@'localhost'; grant lock tables, select,create,alter on *.* to mybackup@localhost; grant create, insert, drop, update on mysql.backup_sbt_history to mybackup@'localhost';
003、由於mysqbackup是復制文件的方式備份的,所以用於備份的linux用戶要對目標路徑有相應的權限。
004、執行一次全備
root@localhost>mysqlbackup --user=mybackup --password=131417 --backup-image=/mysql_backup/data/mysql_server.mbi --backup-dir=/mysql_backup/temp backup-to-image
--user:用戶名。
--password:密碼。
--port:端口,默認值為3306。
--backup-dir:可以看成是mysqlback的工作目錄。
--backup-image:備份文件名。
backup-to-image:把所有的備份信息輸出到一個備份文件當中。
005、可以校驗一下備份文件,用於確定備份是否損壞。
mysqlbackup --backup-image=/mysql_backup/data/mysql_server.mbi validate
006、還原備份
mysqlbackup --defaults-file=/etc/my.cnf --backup-image=/mysql_backup/data/mysql_server.mbi --backup-dir=/mysql_backup/temp/ copy-back-and-apply-log chown -R mysql.mysql /usr/local/mysql/data
007、備份文件轉換到備份目錄
mysqlbackup --backup-image=/mysql_backup/data/mysql_server.mbi --backup-dir=/mysql_backup/temp/ image-to-backup-dir #方法一
mysqlbackup --backup-image=/mysql_backup/data/mysql_server.mbi extract #方法二,導出到當前目錄
008、查看備份文件中的內容
mysqlbackup --backup-image=/mysql_backup/data/mysql_server.mbi list-image
009、