mysqlbinlog命令詳解 Part 10 恢復MySQL
實驗環境
此次實驗的環境如下
-
MySQL 5.7.25
-
Redhat 6.10
-
binlog模式採用row模式
前面的一些章節我們對mysqldump常用命令進行了講解
這個專題的內容為mysqlbinlog命令的詳解
mysqlbinlog是MySQL中用來處理binlog的工具
上節的內容為新建一個備份策略
這節內容講如何使用mysqldump恢復MySQL
1. 還原策略
我們假設週五早上9點發生了故障導致無法開啟
我們現在需要將其恢復到最近的時間點
1.1 還原週日零點的備份
作業系統命令列
shell> mysql -h127.0.0.1 -usystem -P3306 -p < /tmp/backup_sunday_0_AM.sql
mysql命令列
shell> mysql -h127.0.0.1 -usystem -P3306 -p mysql>source /tmp/backup_sunday_0_AM.sql
1.2 還原週日零點直到週五零點的備份
我們假設這期間總共生成5個二進位制檔案
shell> mysqlbinlog mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 mysql-bin.000004 mysql-bin.000005 | mysql -h127.0.0.1 -usystem -P3306 -p
注意,需要將所有需要的二進位制檔案寫在一起,不可分多次
如果在開始備份時沒有指定--flush-logs引數,則需要首先檢視備份時所處的位置
-- Position to start replication or point-in-time recovery from -- CHANGE MASTER TO MASTER_LOG_FILE='masterbin.000001,MASTER_LOG_POS=100;
之後針對該二進位制檔案進行基於位置點的恢復
mysqlbinlog --start-position=100 /path/to/log/master-bin.000001 | mysql -h127.0.0.1 -usystem -P3306 -p
1.3 恢復至最新狀態
如果損壞資料庫的二進位制檔案還存在,則可利用其進行恢復
假設週五零點到九點的二進位制檔案為mysql-bin.000006 mysql-bin.000007 則可以使用如下命令
shell> mysqlbinlog mysql-bin.000006 mysql-bin.000007 | mysql -h127.0.0.1 -usystem -P3306 -p
1.3.1 基於時間點恢復
這裡我們同樣可以恢復到早上8點
首先使用mysqlbinglog檢視早上8點在哪個二進位制檔案中
這裡假設在mysql-bin.000007 中
之後用如下語句恢復
mysqlbinlog --stop-datetime ="2019-04-16 08:00:00" /path/to/log/master-bin.000007 | mysql -h127.0.0.1 -usystem -P3306 -p
也可以指定起始時間
mysqlbinlog --start-datetime="2019-04-16 08:00:00" /path/to/log/master-bin.000007 | mysql -h127.0.0.1 -usystem -P3306 -p
1.3.2 基於事件位置恢復
我們同樣可以通過事件的位置來進行恢復
我們假設一個drop表的操作發生在master-bin.000007的位置100處
我們可以使用下面語句
mysqlbinlog --stop-position=100 /path/to/log/master-bin.000001 | mysql -h127.0.0.1 -usystem -P3306 -p
2. 參考連結
https://dev.mysql.com/doc/refman/5.7/en/backup-and-recovery.html
好了 今天的內容就說到這裡,下節再見
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28413242/viewspace-2650725/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysqlbinlog命令詳解 Part 9 MySQL備份策略MySql
- mysqlbinlog命令詳解 Part 8 指定 Server IDMySqlServer
- mysqlbinlog命令詳解 Part 6 讀取遠端MySQL伺服器日誌MySql伺服器
- mysqlbinlog命令詳解 Part 11 其他的一些引數MySql
- mysqlbinlog命令詳解 Part 5 通過位置和時間檢視日誌MySql
- mysqlbinlog命令詳解 Part 7 備份二進位制日誌檔案MySql
- mysqlbinlog命令恢復資料要注意的問題彙總MySql
- 刪庫不跑路-詳解MySQL資料恢復MySql資料恢復
- MySQL8.4備份恢復快速命令MySql
- MySQL explain命令詳解MySqlAI
- 10. MySQL Galera Cluster全解析 Part 10 grastate.dat檔案詳解MySqlAST
- MySQL show status 命令詳解MySql
- MySQL中的binlog相關命令和恢復技巧MySql
- Mysql通過ibd檔案恢復資料的步驟詳解MySql
- EMC 儲存資料恢復案例詳解【資料恢復方案】資料恢復
- 詳解叢集級備份恢復:物理細粒度備份恢復
- 如何恢復Mysql資料庫的詳細介紹MySql資料庫
- EMC Isilon(OneFS)資料恢復案例詳解資料恢復
- Mysql備份恢復MySql
- mysql資料恢復MySql資料恢復
- MySQL恢復過程MySql
- 【MySQL】MySQL備份和恢復MySql
- MySQL 非常規恢復與物理備份恢復MySql
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- Mysql update誤操作恢復MySql
- MySQL 備份與恢復MySql
- SAP HANA命令列方式恢復命令列
- tore 命令來恢復備份
- 詳解NetAppFAS3220資料恢復操作方法APPS3資料恢復
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- mysql誤刪資料恢復MySql資料恢復
- MySQL資料庫的恢復MySql資料庫
- MySQL資料庫故障恢復MySql資料庫
- MySQL crash recovery恢復慢分析MySql
- 怎樣用恢復驅動器來恢復win10 使用恢復驅動器恢復win10系統的步驟Win10
- windows10恢復出廠設定找不到恢復環境最佳解決方法Windows
- 05、MySQL Case-MySQL binlog誤清除恢復MySql
- MySQL:MySQL工具以及5.7mysqlbinlog|mysql速度極慢問題MySql