您好,登錄后才能下訂單哦!
小生博客:http://xsboke.blog.51cto.com
-------謝謝您的參考,如有疑問,歡迎交流
一、 Mysqldump備份結合binlog日志恢復
使用mysqldump進行全庫備份,并使用binlog日志備份,還原時,可以使用binlog日志恢復到備份前的任意位置或時間
1. Binlog簡介
主要用于主從復制和恢復數據庫,使用mysqlbinlog命令查看binlog二進制日志文件
下面我們通過一個實例,演示,binlog是怎么恢復到某個時間點的
重啟mysql服務使配置生效
驗證binlog是否開啟成功
創建測試使用的數據庫和表并插入數據
為了方便實驗,我們將有誤操作的記錄,放到一個新的binlog日志文件中
現在發現刪除zhangsan是誤操作,現在需要將zhangsan恢復
,去查看binlog日志文件,根據位置實現將表還原到沒有刪除zhangsan時,然后跳過刪除zhangsan的位置,恢復tom
可以做一個分析圖,用來分析出,恢復時指定的區號
從此圖可以分析出,mysql-bin.00001文件全部恢復即可,
Mysql-bin.00002的219-416區是不需要恢復的
下面開始模擬
首先根據需求導出部分binlog日志
模擬刪除數據庫
通過binlog日志恢復
驗證
2. Mysqldump簡介
mysqldump是mysql用于備份和數據轉移的一個工具;
將sql語句封裝到文件,文件包含所有重建你的數據庫所需要的 SQL命令如CREATE DATABASE,CREATE TABLE,INSERT等等,可以用來實現輕量級的快速遷移或恢復數據庫
mysqldump 是將數據表導成 SQL 腳本文件,可以在不同的 MySQL 版本之間使用
mysqldump用于數據量很小的備份(大概幾個G),當數據量大的時候不建議使用
導出對象:單個表、多個表、單個數據庫、多個數據庫、所有數據庫
1) 示例
導出指定數據庫或單個表
導出多個數據庫
導出所有
完整備份數據庫并重新開啟一個新binlog
導入
2)Mysqldump備份方案
周日凌晨1點全庫備份;
周一到周六凌晨每隔4個小時增量備份一次;
設置crontab任務,每天執行備份腳本;
首先設置cronta任務
編輯mysqlfullbackup腳本
編輯mysqldailybackup.sh腳本內容
二、 Xtrabackup備份工具
1. Xtrabackup簡介
Xtrabackup屬于物理備份,支持物理熱備,開源,性能比ibbackup強
Xtrabackup支持增量備份、完整備份、差異備份,與binlog日志組合
Xtrabackup提供兩個命令行工具:
Xtrabackup:可以備份innodb和xtraDB存儲引擎的表
Innobackupex:支持備份innodb和myisam表的存儲引擎,使用perl語言編寫,執行過程中會執行一個讀鎖
2. 注意事項
因為xtrabackup屬于物理熱備,所以在備份的時候可能出現已經提交但是沒有將數據寫入數據文件或沒有提交的事務,所以在恢復時需要解決這個問題,使用—applog-log參數可以將已經備份的數據中已提交的數據寫入數據文件,未提交的數據全部回滾,以保證數據的唯一性
數據恢復時需要刪除data下的所有文件
還原后,需要設置恢復文件的屬主屬組,mysql才能正常運行
3. Xtrabakup的優點
備份速度快,可以用于較大的數據庫,彌補mysqldump的部分不足
支持熱備份,備份過程不打斷事務的執行
支持壓縮備份節約磁盤空間和流量
自動實現備份檢驗
還原速度快
4. Xtrabackup安裝
首先下載xtrabackup并且進行安裝
Wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz
安裝相關插件
安裝percona-toolkit
Wget https://www.percona.com/downloads/percona-toolkit/2.2.19/RPM/percona-toolkit-2.2.19-1.noarch.rpm
5. Xtrabackup+binkog
Xtrabackup+binlog可以實現時間點還原
1)首先創建備份目錄
2)注意開啟binlog日志
3)執行完整備份(使用xtrabackup的“流”及“壓縮備份”功能)
4)查看備份
5)在生產環境中,還會備份binlog日志
可以使用—start-position和—stop-position以跳過誤刪除的位置,去備份binlog日志,這里不再演示
6)Xtrabackup還原
還原前需要解決數據一致性的問題
開始還原
為還原的文件設置屬主屬組
最后如果需要恢復到某個時間點,可以利用備份的binlog日志文件恢復
6. 在生產環境中使用的備份用戶可能不是root,這時需要注意權限了
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。