首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 基於二進制日志 (Binlog) 實現數據恢復實戰

     編輯:MySQL 綜合教學

MySQL 基於二進制日志 (Binlog) 實現數據恢復實戰

背景

大型網站每日定時備份(如 0 點)。若備份周期內發生故障,0 點至故障點的增量數據如何恢復?MySQL 通過 Binlog 實現精準恢復。

啟用 Binlog

編輯 my.ini [mysqld] 節點:

log-bin=D:\mysql-5.6.24\data\mysql
binlog-do-db=dbbin

重啟服務生效。

實戰演練

  1. 創建測試表
    執行建表語句,data 目錄生成 mysql.000001。
  2. 插入數據
    INSERT INTO test ...,生成新日志文件。
    查看:mysqlbinlog mysql.000001
  3. 誤刪表
    DROP TABLE test;,再次生成新日志文件。
  4. 基於 Binlog 恢復
    mysqlbinlog --no-defaults D:\mysql-5.6.24\data\mysql.000001 | mysql -uroot -proot
    驗證:SHOW TABLES; 表已恢復。

關鍵細節

• FLUSH LOGS 會生成新日志文件,但本次操作記錄在上一個文件中。
• 若 mysqlbinlog 命令不識別,需將 MySQL bin 目錄加入 PATH。
• 定時備份 + Binlog 增量 = 完整災備體系(RPO 接近 0)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved