需要開啟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...