MySQL的二進制日誌能夠說是MySQL最重要的日誌了,它記錄了全部的DDL和DML(除了數據查詢語句)語句,以事件形式記錄,還包含語句所執行的消耗的時間,MySQL的二進制日誌是事務安全型的。通常來講開啓二進制日誌大概會有1%的性能損耗(參見MySQL官方中文手冊 5.1.24版)。二進制有兩個最重要的使用場景:
其一:MySQL Replication在Master端開啓binlog,Mster把它的二進制日誌傳遞給slaves來達到master-slave數據一致的目的。
其二:天然就是數據恢復了,經過使用mysqlbinlog工具來使恢復數據。
二進制日誌包括兩類文件:二進制日誌索引文件(文件名後綴爲.index)用於記錄全部的二進制文件,二進制日誌文件(文件名後綴爲.00000*)記錄數據庫全部的DDL和DML(除了數據查詢語句)語句事件。html
1、開啓binlogmysql
在[mysqld] 區塊設置/添加 log-bin=mysql-bin 確認是打開狀態(值 mysql-bin 是日誌的基本名或前綴名);sql
2、經過mysql的變量配置表,查看二進制日誌是否已開啓數據庫
mysql> show variables like 'log_%'; +----------------------------------------+---------------------------------------+ | Variable_name | Value | +----------------------------------------+---------------------------------------+ | log_bin | ON | ------> ON表示已經開啓binlog日誌 | log_bin_basename | /usr/local/mysql/data/mysql-bin | | log_bin_index | /usr/local/mysql/data/mysql-bin.index | | log_bin_trust_function_creators | OFF | | log_bin_use_v1_row_events | OFF | | log_error | /usr/local/mysql/data/martin.err | | log_output | FILE | | log_queries_not_using_indexes | OFF | | log_slave_updates | OFF | | log_slow_admin_statements | OFF | | log_slow_slave_statements | OFF | | log_throttle_queries_not_using_indexes | 0 | | log_warnings | 1 | +----------------------------------------+---------------------------------------+
3、binlog日誌內容查看安全
binlog日誌有二種查看方式,具體以下:ide
一、mysql查看binlog工具
mysql> show binlog events; #只查看第一個binlog文件的內容 mysql> show binlog events in 'mysql-bin.000002';#查看指定binlog文件的內容 mysql> show binary logs; #獲取binlog文件列表 mysql> show master status; #查看當前正在寫入的binlog文件
二、使用mysqlbinlog工具性能
mysqlbinlog是一個查看mysql二進制日誌的工具,能夠把mysql上面的全部操做記錄從日誌裏導出,這個工具默認的安裝路徑爲:/usr/local/mysql/bin/mysqlbinlogspa
能夠經過find / -name "mysqlbinlog"命令查找mysqlbinlog的工具路徑。.net
基於開始/結束時間:
/usr/local/mysql/bin/mysqlbinlog --start-datetime="2013-03-01 00:00:00" --stop-datetime="2014-03-21 23:59:59" /usr/local/mysql/var/mysql-bin.000007 -r test2.sql
參見:http://www.yaoguangkeji.com/a_4brldYkw.html
http://www.boydwang.com/2014/03/use-mysqlbinlog-to-restore-accidentally-deleted-data/