二進制日志(BINLOG)記錄了所有的ddl和dml語句,但不包括數據查詢語句。語句以“事件”的形式保存,描述數據更改過程。
環境:win8 mysql5.6.23
1.mysql開啟二進制日志
默認情況下不開啟二進制日志,開啟時需要修改my.ini配置文件
我的my.ini文件是在C:\ProgramData\MySQL\MySQL Server 5.6 ,
而不是在C:\Program Files (x86)\MySQL\MySQL Server 5.6需要在my.ini文件mysqld選項下添加以下語句
bog-bin = "D:\mysqllog\binlog.log"
等號后面的是二進制日志文件保存的路徑,若路徑中有空格,則需要加雙引號“”把路徑包起來。binlog.log是生成二進制日志的名字
若不能修改內容則修改文件屬性,使當前用戶可編輯
若只給出了文件名(binlog.log),沒有給出路徑則文件路徑,
則保存在datadir指定的路徑,我的默認路徑是C:\ProgramData\Mysql\Mysql Server 5.6\data
有三種二進制日志格式STATEMENT ROW MIXED,默認為MIXED。
一般不修改,若要修改,同樣在my.ini mysqld選項中添加: "binlog_format= "(引號不要,等號后面加你想要的格式)
修改后,重啟mysql服務。我在命令行中用services mysql restart命令重啟服務后並二進制日志沒有開啟成功,重啟電腦后才配置成功。
2.日志讀取(在cmd中執行)
mysqlbinlog log-file
log-file是名字,在每次對數據庫中的數據修改后都會生成日志文件,名稱格式為“log-file.0000n” (文件名稱+日志序號),去二進制日志文件生成路徑下看以下便知道
執行這個命令的時候需要進入二進制日志路徑下使用msyqlbinlog命令,否則報錯
