1. 程式人生 > >MySQL程式只mysqlbinlog詳解

MySQL程式只mysqlbinlog詳解

mysqlbinlog命令詳解

mysqlbinlog用於處理二進位制的日誌檔案,如果想要檢視這些日誌檔案的文字內容,就需要使用mysqlbinlog工具

用法:

mysqlbinlog [options] log-files

引數詳解:

-?, --help                      # 顯示幫助資訊並退出
--base64-output=name            # binlog輸出語句的base64解碼 分為三類:預設是值auto ,僅列印base64編碼的需要的資訊,如row-based 事件和事件的描述
                                  資訊。never 僅適用於不是row-based的事件 decode-rows	配合--verbose選項一起使用解碼行事件到帶註釋的偽SQL語句
--bind-address=name             # 繫結的IP地址
--character-sets-dir=name       # 字符集檔案的目錄
-d, --database=name             # 僅列出此資料庫的條目(僅限本地日誌)
--rewrite-db=name               # 將行事件重寫為指向,以便將其應用於新資料庫
-#, --debug[=#]                 # 輸出debug資訊,用於除錯。預設值為:d:t,/tmp/mysqldump.trace
--debug-check                   # 當程式退出時列印一些除錯資訊
--debug-info                    # 當程式退出時列印除錯資訊和記憶體和CPU使用統計資訊
--default-auth=name             # 要使用的預設身份驗證客戶端外掛
-D, --disable-log-bin           # 禁用binlog日誌,若開啟--to-last-log併發送輸出檔案到相同的mysql server。這種方式避免無限迴圈。在規避資料庫崩
                                  潰恢復資料的時候有用。注意:需要super許可權來使用此選項
-F, --force-if-open             # 若binlog非正常關閉,強制開啟binlog,預設是on可使用--skip-force-if-open關閉
-f, --force-read                # 強制讀取未知的binlog事件
-H, --hexdump                   # 使用十六進位制和ASCII碼匯出輸出的資訊
-h, --host=name                 # 獲取binlog的服務名
-i, --idempotent                # 通知伺服器使用冪等模式應用行事件
-l, --local-load=name           # 準備LOAD DATA INFILE的本地臨時檔案指定目錄
-o, --offset=#                  # 跳過前n個條目
-p, --password[=name]           # 連線到伺服器的密碼
--plugin-dir=name               # 客戶端外掛的目錄
-P, --port=#                    # 用於連線的埠,0表示預設值。埠使用的優先順序:my.cnf,$ MYSQL_TCP_PORT,/etc/services,內建預設值(3306)
--protocol=name                 # 用於連線的協議(tcp, socket, pipe, memory)
-R, --read-from-remote-server   # 從MySQL伺服器讀取二進位制日誌,是read-from-remote-master = BINLOG-DUMP-NON-GTIDS的別名。
--read-from-remote-master=name   
--raw                           # 配合引數-R一起使用,輸出原始的binlog資料而不是SQL語句
-r, --result-file=name          # 輸出指定的檔案,和--row一起使用,此時是資料檔案的字首
--secure-auth                   # 如果客戶端使用舊的(4.1.1之前的)協議,則拒絕連線到伺服器
--server-id=#                   # 提取給定id的伺服器建立的binlog條目                 
--server-id-bits=#              # 設定server-id中的有效位數
--set-charset=name              # 新增'SET NAMES character_set' 到輸出
-s, --short-form                # 僅適用於常規查詢,沒有額外的資訊和row-based事件資訊。僅用於測試,不使用於生產環境。如果你想抑制
                                  base64-output,考慮使用--base64-output = never代替
-S, --socket=name               # 連線時使用的socket檔案
--ssl-mode=name                 # SSL連線模式
--ssl-ca=name                   # PEM格式的CA檔案
--ssl-capath=name               # CA目錄
--ssl-cert=name                 # PEM格式的X509證書
--ssl-cipher=name               # 要使用的SSL密碼
--ssl-key=name                  # PEM格式的X509金鑰
--ssl-crl=name                  # 證書吊銷列表
--ssl-crlpath=name              # 證書吊銷列表路徑
--tls-version=name              # 要使用的TLS版本,允許值為:tlsv1、tlsv1.1
--start-datetime=name           # binlog檔案讀取的起始時間點,可接受datetime和timestamp型別,格式2004-12-25 11:25:56
-j, --start-position=#          # 從N位置開始讀取binlog。適用於命令列上傳遞的第一個binlog
--stop-datetime=name            # binlog檔案讀取的結束時間點
--stop-never                    # 等待來自伺服器的更多資料,而不是在最後一個日誌結束時停止。隱式地設定--to-last-log ,但不是在最後一個日誌結
                                  束時停止而是繼續等待直到伺服器斷開連線
--stop-never-slave-server-id=#  # 從伺服器server_id使用--read-from-remote-server --stop-never。該選項不能和--connection-server-id一起使用
--connection-server-id=#        # 從伺服器server_id使用--read-from-remote-server,該選項不能和--stop-never-slave-server-id一起使用
--stop-position=#               # binlog檔案結束的時間點
-t, --to-last-log               # 和-r一起使用,不會在請求的binlog結尾處停止,而是繼續列印,直到mysql伺服器的最後一個binlog結束。如果將輸出發
                                  送到同一個MySQL伺服器,可能會導致無休止的迴圈
-u, --user=name                 # 連線到伺服器使用者名稱
-v, --verbose                   # 重新構建偽SQL語句的行資訊輸出,-v -v會增加列型別的註釋資訊
-V, --version                   # 列印版本資訊
--open-files-limit=#            # 開啟檔案的限制,用於保留檔案描述符以供此程式使用
-c, --verify-binlog-checksum    # 驗證binlog的事件資訊
--binlog-row-event-max-size=#   # 指定基於行的binlog的大小,改值必須是256的倍數
--skip-gtids                    # 不要保留全域性事務識別符號,而是讓伺服器像執行新事務一樣執行這些事務。
--include-gtids=name            # 列印提供了全域性事務識別符號的事件 
--exclude-gtids=name            # 列印所有事件,但提供全域性事務識別符號的事件除外