mysqlbinlog使用詳解

2021-07-08 19:28:32 字數 3403 閱讀 7296

mysqlbinlog用於處理二進位制日誌檔案的實用工具詳解

mysqlbinlog

從二進位制日誌讀取語句的工具。在二進位制日誌檔案中包含的執行過的語句的日誌可用來幫助從崩潰中恢復

在my.cnf這個檔案中加一行(windows為my.ini)。

#vi /etc/my.cnf

[mysqld]

log-bin=mysqlbin-log #新增這一行就ok了=號後面的名字自己定義吧

然後我們可以對資料庫做簡單的操作後到mysql資料檔案所在的目錄來看binlog檔案

[root@linux mysql]# ll

-rw-rw—- 1 mysql mysql 813255 nov 25 18:14 mysqlbin-log.000001

搞定了mysqlbinlog用法詳細說明

伺服器生成的二進位制日誌檔案寫成二進位制格式。要想檢查這些文字格式的檔案,應使用

mysqlbinlog

實用工具。

應這樣呼叫

mysqlbinlog

:shell> 

mysqlbinlog [options] 

log-files

…例如,要想顯示二進位制日誌binlog.000003的內容,使用下面的命令:

shell> 

mysqlbinlog binlog.0000003

輸出包括在binlog.000003中包含的所有語句,以及其它資訊例如每個語句花費的時間、客戶發出的執行緒id、發出執行緒時的時間戳等等。

通常情況,可以使用

mysqlbinlog

直接讀取二進位制日誌檔案並將它們用於本地mysql伺服器。也可以使用–read-from-remote-server選項從遠端伺服器讀取二進位制日誌。

當讀取遠端二進位制日誌時,可以通過連線引數選項來指示如何連線伺服器,但它們經常被忽略掉,除非你還指定了–read-from-remote-server選項。這些選項是–host、–password、–port、–protocol、–socket和–user。

還可以使用

mysqlbinlog

來讀取在複製過程中從伺服器所寫的中繼日誌檔案。中繼日誌格式與二進位制日誌檔案相同。

mysqlbinlog

支援下面的選項:

—help,-?

顯示幫助訊息並退出。

—database=

db_name

,-d 

db_name

只列出該資料庫的條目(只用本地日誌)。

–force-read,-f

使用該選項,如果

mysqlbinlog

讀它不能識別的二進位制日誌事件,它會列印警告,忽略該事件並繼續。沒有該選項,如果

mysqlbinlog

讀到此類事件則停止。

–hexdump,-h

在注釋中顯示日誌的十六進製制轉儲。該輸出可以幫助複製過程中的除錯。在mysql 5.1.2中新增了該選項。

–host=

host_name

,-h 

host_name

獲取給定主機上的mysql伺服器的二進位制日誌。

–local-load=

path

,-l 

pat為指定目錄中的load data infile預處理本地臨時檔案。

–offset=

n,-o 

n跳過前

n個條目。

–password[=

password

],-p[

password

]當連線伺服器時使用的密碼。如果使用短選項形式(-p),選項和 密碼之間

不能有空格。如果在命令列中–password或-p選項後面沒有 密碼值,則提示輸入乙個密碼。

–port=

port_num

,-p port_

num用於連線遠端伺服器的tcp/ip埠號。

–position=

n,-j 

n不贊成使用,應使用–start-position。

–protocol={tcp | socket | pipe | -position

使用的連線協議。

–read-from-remote-server,-r

從mysql伺服器讀二進位制日誌。如果未給出該選項,任何連線引數選項將被忽略。這些選項是–host、–password、–port、–protocol、–socket和–user。

–result-file=

name

, -r 

name

將輸出指向給定的檔案。

–short-form,-s

只顯示日誌中包含的語句,不顯示其它資訊。

–socket=

path

,-s 

path

用於連線的套接字檔案。

–start-datetime=

datetime

從二進位制日誌中第1個日期時間等於或晚於

datetime

參量的事件開始讀取。

datetime

值相對於執行

mysqlbinlog

的機器上的本地時區

。該值格式應符合datetime或timestamp資料型別。例如:

shell> 

mysqlbinlog –start-datetime=」2004-12-25 11:25:56″ binlog.000003

該選項可以幫助點對點恢復。

–stop-datetime=

datetime

從二進位制日誌中第1個日期時間等於或晚於

datetime

參量的事件起停止讀。關於

datetime

值的描述參見–start-datetime選項。該選項可以幫助及時恢復。

–start-position=

n從二進位制日誌中第1個位置等於

n參量時的事件開始讀。

–stop-position=

n從二進位制日誌中第1個位置等於和大於

n參量時的事件起停止讀。

–to-last-logs,-t

在mysql伺服器中請求的二進位制日誌的結尾處不停止,而是繼續列印直到最後乙個二進位制日誌的結尾。如果將輸出傳送給同一臺mysql伺服器,會導致無限迴圈。該選項要求–read-from-remote-server。

–disable-logs-bin,-d

禁用二進位制日誌。如果使用–to-last-logs選項將輸出傳送給同一臺mysql伺服器,可以避免無限迴圈。該選項在崩潰恢復時也很有用,可以避免複製已經記錄的語句。

注釋:該選項要求有super許可權。

–user=

user_name

,-u 

user_name

連線遠端伺服器時使用的mysql使用者名稱。

–version,-v

mysqlbinlog工具使用

伺服器的二進位制日誌由包含 事件 的檔案組成,這些事件描述了對資料庫內容的修改。伺服器以二進位制格式寫入這些檔案。要以文字格式顯示其內容,請使用 mysqlbinlog實用程式。還可以使用 mysqlbinlog顯示複製設定中從屬伺服器寫入的中繼日誌檔案的內容,因為中繼日誌的格式與二進位制日誌相同。...

mysqlbinlog命令使用

常用引數 start datetime datetime 從二進位制日誌中第1個日期時間等於或晚於datetime參量的事件開始讀取。datetime值相對於執行mysqlbinlog的機器上的本地時區。該值格式應符合datetime或timestamp資料型別。stop datetime date...

mysqlbinlog工具的使用

1.檢視最新的binlog狀態 show master status 2.檢視具體的binlog檔案 show binlog events in mysql bin.000004 from 154 limit 2,2 g 注意沒有分號 3.產生新的日誌檔案 flush logs 4.重置日誌,刪除所...