MySQLbinlog 命令以用戶可視的方式展示出二進(jìn)制日志中的內(nèi)容。同時(shí),也可以將其中的內(nèi)容讀取出來,供其他MySQL實(shí)用程序使用。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了元寶免費(fèi)建站歡迎大家使用!
1. 獲取當(dāng)前二進(jìn)制日志列表
SHOW BINARY LOGS;或 SHOW MASTER LOGS; |
2. 獲取特定數(shù)據(jù)庫(kù)條目
mysqlbinlog -d databasename mysqld-bin.000001 > data.sql 同--database |
3. 禁止恢復(fù)過程產(chǎn)生日志
mysqlbinlog -d -D databasename mysqld-bin.000001 > data.sql 效果:在輸出第二行會(huì)添加SQL_LOG_BIN=0 需root權(quán)限 |
4. 在輸出中控制base-64 BINLOG
四個(gè)可選項(xiàng): auto:默認(rèn) never:不顯示類似的行BINLOG'IeZ4WQ8BAAAAZgAAABAA decode-rows:基于行的事件解碼成一個(gè)SQL語(yǔ)句,特別是當(dāng)指定-verbose選項(xiàng)時(shí) 例:mysqlbinlog --base64-output=decode-rows --verbose mysqld-bin.000001 always:(5.7用unspec)只顯示了BINLOG項(xiàng) |
5. 跳過前N個(gè)條目
-o指定跳過前多少個(gè)條目 mysqlbinlog-o10000mysqld-bin.000001 |
6. 保存輸出到文件
兩種方法,重定向和-r: mysqlbinlog -r output.log mysqld-bin.000001 --server-id= 指定是是由給定服務(wù)器生成的日志 mysqlbinlog--server-id=1-routput.logmysqld-bin.000001 |
7. 從一個(gè)特定位置提取條目
從指定位置開始讀:--start-position/-j mysqlbinlog-j15028mysqld-bin.000001>from-15028.out 讀到結(jié)束位置: mysqlbinlog--stop-position=15028mysqld-bin.000001>upto-15028.out |
8. 刷新日志以清除Binlog輸出
如日志中出現(xiàn)Warning: this binlog is either in use or was not closed properly 是因?yàn)槎M(jìn)制日志沒有被正確的關(guān)閉,需連接mysql刷新日志mysql>flushlogs; |
9. 在輸出中只顯示語(yǔ)句
不顯示附加信息要加選項(xiàng) -s / --short-form |
10.查看特定時(shí)間的條目
根據(jù)時(shí)間截取 --start-datetime --stop-datetime 例:mysqlbinlog--stop-datetime="2017-08-16 15:00:00"mysqld-bin.000001 |
11. 獲取遠(yuǎn)程服務(wù)器二進(jìn)制日志
讀取遠(yuǎn)程的二進(jìn)制日志示例: mysqlbinlog-R-h192.168.101.2-pmysqld-bin.000001 |