Mysql通過binlog恢復資料庫

2021-08-20 21:20:25 字數 1491 閱讀 3263

需要開啟binlog日誌

編輯開啟mysql配置檔案my.ini,在[mysqld]區塊設定/新增 log-bin=mysql-bin 然後重啟mysql服務

檢視二進位制日誌是否已開啟

mysql> show variables like 'log_%';

log_bin的值為no表示已開啟binlog日誌

常用binlog日誌操作命令

1.檢視所有binlog日誌列表

mysql> show master logs;

2.檢視master狀態,即最後(最新)乙個binlog日誌的編號名稱,及其最後乙個操作事件pos結束點(position)值

mysql> show master status;

3.重新整理log日誌,自此刻開始產生乙個新編號的binlog日誌檔案

mysql> flush logs;

注:每當mysqld服務重啟時,會自動執行此命令,重新整理binlog日誌;在mysqldump備份資料時加 -f 選項也會重新整理binlog日誌;

4.重置(清空)所有binlog日誌

mysql> reset master;

binlog恢復資料

.使用sql語句:show binlog events in 'mysql-bin.000001';檢視binlog內容記錄下開始位置(pos)和結束位置(end_log_pos)

進入c:\programdata\mysql\mysql server5.7\data(mysqlbinlog日誌所在的目錄)

用binlog命令備份到d盤

mysqlbinlog --start-position=1142--stop-position=1560 mysql-bin.000001 > d:\\test1.sql

--start-position=1142                 起始pos點

--stop-position=1560                   結束pos點

登入到mysql 命令:mysql -uroot –p

.然後執行:sourced: (這裡是用我們binlog備份的test1.sql去恢復資料)

.使用sql語句:show binlog events in 'mysql-bin.000001';檢視binlog內容記錄下開始位置(pos)和結束位置(end_log_pos)

進入c:\programdata\mysql\mysql server5.7\data

輸入:mysqlbinlog mysql-bin.000001–-start-position=154 -–stop-position=1583  | mysql –uroot  -p

如果只需要恢復乙個資料庫,必須要指定資料庫,否則將對全服的資料庫進行操作。

--database=zyyshop           

指定只恢復

zyyshop

資料庫(

一台主機上往往有多個資料庫,只限本地

log日誌

)

MySQL 通過 binlog 恢復資料

通過了解 binlog 日誌的相關配置,簡單掌握通過 binlog 對資料庫進行資料恢復操作 任何成熟軟體都會有一套成熟的日誌系統,當軟體出現問題時,這些日誌就是查詢問題 的寶庫。同樣,mysql 也不例外,也會有一系列日誌記錄 mysql 的執行狀態。mysql 主要有以下幾種日誌 這些日誌均需要...

MySQL通過bin log恢復資料

binlog是server層實現的二進位制日誌,他會記錄我們的crud操作。因此如果我們誤刪了資料庫,我們可以通過binlog來進行恢復。一 首先,我們需要開啟mysql的binlog功能。binlog預設是關閉的,需要手動開啟 通過以下命令檢視binlog是否開啟 show variables l...

mysql 資料恢復 通過binlog恢復資料

1 首先登入mysql 2 檢視是否開啟bin日誌 show variables like log bin 3 檢視正在被記錄的檔案 show master status 5 篩選出指定表的sql 例如表名為 address list grep address list 1sql basic.sql...