MySQL Binary Log也就是常說的bin-log, ,是mysql執行改動產生的二進制日志文件,其主要作用有兩個:
* 數據回復
* 主從數據庫。用于slave端執行增刪改,保持與master同步。
1.開啟binary log功能
需要修改mysql的配置文件,本篇的實驗環境是win7,配置文件為mysql安裝目錄/MySQL Server 5.1下的my.ini,添加一句log_bin = mysql_bin即可
| eg: [mysqld] ...... log_bin = mysql_bin ...... log_bin是生成的bin-log的文件名,后綴則是6位數字的編碼,從000001開始,按照上面的配置,生成的文件則為: mysql_bin.000001 mysql_bin.000002 ...... |
配置保存以后重啟mysql的服務器,用show variables like '%bin%'查看bin-log是否開啟,如圖:

2.查看產生的binary log
bin-log因為是二進制文件,不能通過記事本等編輯器直接打開查看,mysql提供兩種方式查看方式,在介紹之前,我們先對數據庫進行一下增刪改的操作,否則log里邊數據有點空。
| create table bin( id int(10) primary key auto_increment,name varchar(255)); |
(測試前我已經建表)
| insert into bin(name) values ('orange'); |
1.在客戶端中使用 show binlog events in 'mysql_bin.000001' 語句進行查看,為了排序美觀,可以在結尾加/G使結果橫變縱,此時結尾無需加;語句結束符。
eg:
| mysql> show binlog events in 'mysql_bin.000001'/G ...............省略............... *************************** 3. row *************************** Log_name: mysql_bin.000001 Pos: 174 Event_type: Intvar Server_id: 1 End_log_pos: 202 Info: INSERT_ID=2 *************************** 4. row *************************** Log_name: mysql_bin.000001 Pos: 202 Event_type: Query Server_id: 1 End_log_pos: 304 Info: use `test`; insert into bin(name) values ('orange') *************************** 5. row *************************** ...............省略............... |
2.用mysql自帶的工具mysqlbinlog,這是我們就需要知道bin-log存在硬盤的什么位置,win7默認存在C:/ProgramData/MySQL/MySQL Server 5.1/data文件夾下面,如果沒有此文件夾,那我們可以通過配置文件中的 datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/" 定位,如果還沒有,那我就會說“各個系統的搜索功能都做的不錯!”。這種查看方式就沒那個美觀了,如下
新聞熱點
疑難解答