FROM : http://blog.52news.com/article.asp?id=1659
在mysql 安裝後可以啟動 bin-log 功能,以記錄資料庫的資料操作的記錄,必要時候恢複資料,mysql的日誌分為以下幾種:
錯誤記錄檔: -log-err
查詢日誌: -log
慢查詢日誌: -log-slow-queries
更新日誌: -log-update
二進位日誌: -log-bin
查看是否啟用了日誌:
mysql>show variables like 'log_%';
要啟動mysql 的二進位日誌,很簡單,步驟如下:
一 配置mysql 的my.ini,在[mysqld] 下添加
log-bin = C:/Program Files/MySQL/MySQL Server 5.0/log-bin/logbin.log
上面是配置mysql二進位日誌存放的目錄,目錄可以隨便指定,我是在mysql安裝的根目錄下建立了log-bin檔案夾作為存放二進位記錄檔的目錄,在指定路徑時要注意以下兩點:
1 在目錄的檔案夾命名中不能有空格,比如“aa bb”檔案夾 是不允許的,這樣,在訪問日誌時候會報錯;
2 指定目錄時候一定要以*.log結尾,即不能僅僅指定到檔案夾的層級,如上面我寫的logbin.log,這時候,記錄檔的名稱是logbin.000001 logbin.000002。。。不然不會有記錄檔產生。
二 mysql.ini 修改後,儲存,然後重啟mysql服務,重啟後在C:/Program Files/MySQL/MySQL Server 5.0/log-bin 目錄下會產生logbin.000001 和 logbin.index 兩個檔案。
三 查看二進位檔案
在dos命令列中,進入到mysql的安裝目錄下,即C:/Program Files/MySQL/MySQL Server 5.0,再進到bin/目錄下,執行mysqlbinlog命令查看日誌:
mysqlbinlog ..\log-bin\logbin.000001
值得注意的是後面的路徑問題,路徑可以使用絕對路徑也可以使用相對路徑,分隔字元可以是“/"也可以是“\”,兩種分割符都能正常識別,路徑中的檔案夾名稱中不能有空格 ,這個測試過(如果是絕對路徑C:/Program Files/MySQL/MySQL Server 5.0/log-bin/logbin.000001就會報錯找不到檔案 因為“C:/Program Files”帶空格)
為了方便查看日誌內容 可以匯出到.sql檔案
mysqlbinlog ..\log-bin\logbin.000001 ->a.sql
C:\Program Files\MySQL\MySQL Server 5.0\bin>
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqlbinlog ..\log_bin_ljs\logbin.000001
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#100830 16:30:55 server id 1 end_log_pos 98 Start: binlog v 4, server v 5.0.
67-community-nt-log created 100830 16:30:55 at startup
# Warning: this binlog was not closed properly. Most probably mysqld crashed wri
ting it.
ROLLBACK/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/ ;
C:\Program Files\MySQL\MySQL Server 5.0\bin>