如何使MySQL自動記錄所有操作

如果發現MySQL出現問題而需要資料回復時,一般我們都使用資料備份的型式,但其實我們也可以使用MySQL的binary log來取替。binary log記錄所有insert, update 和 delete的query語法。操作方法如下:


1.啟用bin-log
- 打開/etc/mysql/my.cnf
- 於[mysqld]的部份加入以下資料
log-bin = /var/lib/mysql/mysql-bin.*
﹣重開資料庫 service mysqld restart


2.如何查看binary log的資料
- 前往/etc/mysql目錄下
- 輸入 mysqlbinlog mysql-bin.000001 > /tmp/binlog-dump.sql
- 然後打開binlog-dump.sql,就可以看到詳細的操作記錄。


3.將某個時段的操作記錄dump出來
mysqlbinlog --start-date="2011-01-01 00:00:00" --stop-date="2011-02-23 00:00:00" /var/lib/mysql/mysql-bin.* > /tmp/mysql_restore.sql


通過以上的方式,就可以查看所有資料庫的操作詳情。

沒有留言: