溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysqlbinlog命令必備知識

發(fā)布時間:2020-09-02 19:22:35 來源:網(wǎng)絡(luò) 閱讀:4021 作者:大飛俠大蝦 欄目:MySQL數(shù)據(jù)庫

mysqlbinlog 命令以用戶可視的方式展示出二進制日志中的內(nèi)容。同時,也可以將其中的內(nèi)容讀取出來,供其他MySQL實用程序使用。

1. 獲取當(dāng)前二進制日志列表

SHOW BINARY LOGS;或

SHOW MASTER LOGS;

2. 獲取特定數(shù)據(jù)庫條目

mysqlbinlog -d databasename mysqld-bin.000001 > data.sql

同--database

3. 禁止恢復(fù)過程產(chǎn)生日志

mysqlbinlog -d -D databasename mysqld-bin.000001 > data.sql

效果:在輸出第二行會添加SQL_LOG_BIN=0   需root權(quán)限

4. 在輸出中控制base-64 BINLOG

四個可選項:

     auto:默認

     never:不顯示類似的行BINLOG ' IeZ4WQ8BAAAAZgAAABAA

     decode-rows:基于行的事件解碼成一個SQL語句,特別是當(dāng)指定-verbose選項時

           例:mysqlbinlog --base64-output=decode-rows --verbose mysqld-bin.000001

     always:(5.7用unspec)只顯示了BINLOG項

5. 跳過前N個條目

-o指定跳過前多少個條目

mysqlbinlog -o 10000 mysqld-bin.000001

6. 保存輸出到文件

兩種方法,重定向和-r:

     mysqlbinlog -r output.log mysqld-bin.000001

--server-id= 指定是是由給定服務(wù)器生成的日志

     mysqlbinlog --server-id=1 -r output.log mysqld-bin.000001

7. 從一個特定位置提取條目

從指定位置開始讀:--start-position/-j

      mysqlbinlog -j 15028 mysqld-bin.000001 > from-15028.out

讀到結(jié)束位置:

      mysqlbinlog --stop-position=15028 mysqld-bin.000001 > upto-15028.out

8. 刷新日志以清除Binlog輸出

如日志中出現(xiàn)Warning: this binlog is either in use or was not closed properly

是因為二進制日志沒有被正確的關(guān)閉,需連接mysql刷新日志mysql> flush logs;

9. 在輸出中只顯示語句

不顯示附加信息要加選項 -s / --short-form

10.查看特定時間的條目

根據(jù)時間截取 --start-datetime   --stop-datetime

例:mysqlbinlog --stop-datetime="2017-08-16 15:00:00" mysqld-bin.000001

11. 獲取遠程服務(wù)器二進制日志

讀取遠程的二進制日志示例:

mysqlbinlog -R -h 192.168.101.2 -p mysqld-bin.000001


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI