開啓mysql二進制日誌
在mysql的配置文件my.ini中添加(文件中有個 #log-bin 可直接修改):
log-bin=mysql_bin(名字自定義,英文.)
my.ini的文件位置需要注意。
比如我的:服務執行該文件 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini。
也可能我C盤E盤都裝了mysql.以至於剛開始在E盤折騰許久發現不對。
重啓mysql
重啓後,假如在mysql的存儲數據(my.ini所在目錄的Data文件夾)的目錄中出現一下文件,則已經二進制日誌已經開啓
查看日誌文件
mysql-bin.000001是mysql的二進制日誌文件,不可以直接查看,可以通過導出數據查看,導出數據的語句爲(終端):
mysqlbinlog mysql-bin.000001 >binlog.txt
不同數據庫產生不同二進制文件 mysql-bin.000002等,操作的二進制文件也不同。
打開binlog.txt,內容(格式)如下:
恢復數據
然後就可以通過命令,從某個位置執行到某個位置。恢復數據,語句爲:
mysqlbinlog --start-position=起始位置 --stop-position=結束位置 mysql-bin.000002 | mysql -uroot -p
需注意以下幾點:
1. 起點可以不設置默認從頭執行
2. 數據恢復可通過binlog.txt裏記錄的操作時間來恢復(--start-datetime="2015-08-08 10:00:00"),語法自行百度。
3. 如果刪除二進制文件的話將mysql-bin.index裏的內容(二進制文件名)一併刪除,否則影響產生新的二進制日誌文件
4. mysql服務會佔用二進制文件,刪除時請關閉服務。