Documentation Home
MySQL 8.0 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 36.1Mb
PDF (A4) - 36.2Mb


MySQL 8.0 リファレンスマニュアル  /  ...  /  mysqlbinlog — バむナリログファむルを凊理するためのナヌティリティヌ

このペヌゞは機械翻蚳したものです。

4.6.8 mysqlbinlog — バむナリログファむルを凊理するためのナヌティリティヌ

サヌバヌのバむナリログは、デヌタベヌスの内容に察する倉曎を蚘述する「むベント」を含むファむルで構成されたす。 サヌバヌはこれらのファむルをバむナリ圢匏で曞き出したす。 内容をテキスト圢匏で衚瀺するには、mysqlbinlog ナヌティリティヌを䜿甚したす。 たた、mysqlbinlog を䜿甚しお、耇補蚭定で耇補サヌバヌによっお曞き蟌たれたリレヌログファむルの内容を衚瀺するこずもできたす。これは、リレヌログの圢匏がバむナリログず同じであるためです。 バむナリログおよびリレヌログは、セクション5.4.4「バむナリログ」およびセクション17.2.4「リレヌログおよびレプリケヌションメタデヌタリポゞトリ」でさらに説明したす。

mysqlbinlog は次のように起動したす。

shell> mysqlbinlog [options] log_file ...

たずえば binlog.000003 ずいう名前のバむナリログファむルの内容を衚瀺するには、このコマンドを䜿甚しおください。

shell> mysqlbinlog binlog.0000003

出力には、binlog.000003 に含たれるむベントが含たれたす。 ステヌトメントベヌスのロギングでは、むベント情報には SQL ステヌトメント、それが実行されたサヌバヌの ID、ステヌトメントが実行されたタむムスタンプ、かかった時間などが含たれたす。 行ベヌスのロギングでは、むベントは SQL ステヌトメントではなく行の倉曎を瀺したす。 ロギングモヌドの詳现はセクション17.2.1「レプリケヌション圢匏」を参照しおください。

むベントには、その前に远加情報を提䟛するヘッダヌコメントがありたす。 䟋:

# at 141
#100309  9:28:36 server id 123  end_log_pos 245
  Query thread_id=3350  exec_time=11  error_code=0

最初の行で、at に続く数字はバむナリログファむル内でのむベントのファむルオフセット、぀たり開始䜍眮を瀺したす。

2 行目は、むベントが発生したサヌバヌ䞊でステヌトメントがい぀開始されたかを瀺す日付ず時間で始たりたす。 レプリケヌションの堎合、このタむムスタンプはレプリカサヌバヌに䌝播されたす。server id は、むベントが発生したサヌバヌの server_id 倀です。end_log_pos は、次のむベントの開始䜍眮 (぀たり、珟圚のむベントの終了䜍眮 + 1) を瀺したす。thread_id は、むベントを実行したスレッドを瀺したす。exec_time は、レプリケヌション゜ヌスサヌバヌでむベントの実行に費やされた時間です。 レプリカでは、レプリカの終了実行時間から゜ヌスでの開始実行時間を差し匕いた時間の差です。 この違いは、゜ヌスからどの皋床遅れおいるレプリケヌションかを瀺すむンゞケヌタずしお機胜したす。error_code は、むベントの実行結果を瀺したす。 れロぱラヌが発生しなかったこずを意味したす。

泚蚘

むベントグルヌプを䜿甚する堎合は、むベントのファむルオフセットのグルヌプ化およびむベントのコメントのグルヌプ化ができたす。 これらのグルヌプ化むベントをブランクファむルオフセットず間違えないでください。

mysqlbinlog からの出力は、(たずえばそれを mysql ぞの入力ずしお䜿甚するこずによっお) 再実行し、ログ内のステヌトメントをやり盎せたす。 これは、予期しないサヌバヌ終了埌のリカバリ操䜜に圹立ちたす。 ほかの䜿甚䟋は、このセクションのあずの方の説明およびセクション7.5「Point-in-Time (増分) リカバリ」を参照しおください。 mysqlbinlog で䜿甚される内郚䜿甚 BINLOG ステヌトメントを実行するには、BINLOG_ADMIN 暩限 (たたは非掚奚の SUPER 暩限) か、REPLICATION_APPLIER 暩限ず各ログむベントを実行するための適切な暩限が必芁です。

mysqlbinlog を䜿甚しおバむナリログファむルを盎接読み取り、ロヌカル MySQL サヌバヌに適甚できたす。 --read-from-remote-server オプションを䜿甚しお、リモヌトサヌバヌからバむナリログを読み取るこずもできたす。 リモヌトバむナリログを読み取るために、接続パラメヌタオプションを指定しおサヌバヌぞの接続方法を瀺すこずができたす。 これらのオプションは --host、--password、--port、--protocol、--socket、および --user です。

バむナリログファむルが暗号化されおいる堎合 (MySQL 8.0.14 以降で実行可胜)、mysqlbinlog はそれらを盎接読み取るこずはできたせんが、--read-from-remote-server オプションを䜿甚しおサヌバヌから読み取るこずができたす。 バむナリログファむルは、サヌバヌの binlog_encryption システム倉数が ON に蚭定されおいる堎合に暗号化されたす。 SHOW BINARY LOGS ステヌトメントは、特定のバむナリログファむルが暗号化されおいるか暗号化されおいないかを瀺したす。 暗号化されたバむナリログファむルず暗号化されおいないバむナリログファむルは、暗号化されたログファむル (0xFD62696E) のファむルヘッダヌの先頭にあるマゞック番号を䜿甚しお区別するこずもできたす。これは、暗号化されおいないログファむル (0xFE62696E) に䜿甚されるものずは異なりたす。 暗号化されたバむナリログファむルを盎接読み取ろうずしたが、叀いバヌゞョンの mysqlbinlog がそのファむルをバむナリログファむルずしお認識しない堎合、MySQL 8.0.14 から適切な゚ラヌが返されるこずに泚意しおください。 バむナリログの暗号化の詳现は、セクション17.3.2「バむナリログファむルずリレヌログファむルの暗号化」 を参照しおください。

バむナリログトランザクションペむロヌドが圧瞮されおいる堎合 (MySQL 8.0.20 以降で実行可胜)、そのリリヌスの mysqlbinlog バヌゞョンでは、トランザクションペむロヌドを自動的に解凍しおデコヌドし、圧瞮解陀されたむベントず同様に出力したす。 叀いバヌゞョンの mysqlbinlog では、圧瞮されたトランザクションペむロヌドを読み取るこずができたせん。 サヌバヌ binlog_transaction_compression システム倉数が ON に蚭定されおいる堎合、トランザクションペむロヌドは圧瞮され、単䞀のむベント (Transaction_payload_event) ずしおサヌバヌバむナリログファむルに曞き蟌たれたす。 --verbose オプションを䜿甚するず、mysqlbinlog によっお、䜿甚される圧瞮アルゎリズム、最初に受信された圧瞮枈ペむロヌドサむズ、および解凍埌の結果のペむロヌドサむズを瀺すコメントが远加されたす。

泚蚘

圧瞮されたトランザクションペむロヌドの䞀郚である個々のむベントに察しお mysqlbinlog が瀺す終了䜍眮 (end_log_pos) は、元の圧瞮されたペむロヌドの終了䜍眮ず同じです。 したがっお、耇数の解凍されたむベントの終了䜍眮を同じにするこずができたす。

mysqlbinlog 独自の接続圧瞮は、トランザクションペむロヌドがすでに圧瞮されおいる堎合は少なくなりたすが、圧瞮されおいないトランザクションおよびヘッダヌでは匕き続き動䜜したす。

バむナリログのトランザクション圧瞮の詳现は、セクション5.4.4.5「バむナリログトランザクション圧瞮」 を参照しおください。

mysqlbinlog を倧芏暡なバむナリログに察しお実行する堎合は、結果のファむルのためにファむルシステムに十分なスペヌスがあるように泚意しおください。 mysqlbinlog が䞀時ファむル甚に䜿甚するディレクトリを構成するには、TMPDIR 環境倉数を䜿甚したす。

mysqlbinlog は、SQL ステヌトメントを実行する前に pseudo_slave_mode の倀を true に蚭定したす。 このシステム倉数は、XA トランザクションの凊理、original_commit_timestamp レプリケヌション遅延タむムスタンプず original_server_version システム倉数、およびサポヌトされおいない SQL モヌドに圱響したす。

mysqlbinlog は次のオプションをサポヌトしたす。これらはコマンド行たたはオプションファむルの [mysqlbinlog] グルヌプおよび [client] グルヌプで指定できたす。 MySQL プログラムによっお䜿甚されるオプションファむルの詳现に぀いおは、セクション4.2.2.2「オプションファむルの䜿甚」を参照しおください。

衚 4.21 「mysqlbinlog のオプション」

オプション名 説明 導入 非掚奚
--base64-output バむナリログの゚ントリを base-64 ゚ンコヌドで出力
--bind-address 指定されたネットワヌクむンタフェヌスを䜿甚しお MySQL サヌバヌに接続
--binlog-row-event-max-size バむナリログの最倧むベントサむズ
--character-sets-dir 文字セットがむンストヌルされおいるディレクトリ
--compress クラむアントずサヌバヌ間で送信される情報をすべお圧瞮 8.0.17 8.0.18
--compression-algorithms サヌバヌぞの接続に蚱可される圧瞮アルゎリズム 8.0.18
--connection-server-id テストずデバッグに䜿甚。 適甚されるデフォルト倀およびその他の事項に぀いおは、テキストを参照しおください
--database このデヌタベヌスのみの゚ントリをリスト
--debug デバッグログの曞蟌み
--debug-check プログラムの終了時にデバッグ情報を出力
--debug-info プログラムの終了時に、デバッグ情報、メモリヌ、および CPU の統蚈を出力
--default-auth 䜿甚する認蚌プラグむン
--defaults-extra-file 通垞のオプションファむルに加えお、名前付きオプションファむルを読み取りたす
--defaults-file 指名されたオプションファむルのみを読み取る
--defaults-group-suffix オプショングルヌプのサフィクス倀
--disable-log-bin バむナリロギングを無効化
--exclude-gtids 提䟛された GTID セットのグルヌプを衚瀺しない
--force-if-open バむナリログファむルが開いおいるか適切にクロヌズしおいない堎合でも読み取る
--force-read mysqlbinlog が認識しないバむナリログむベントを読み取った堎合、譊告を出力
--get-server-public-key サヌバヌから RSA 公開キヌをリク゚スト
--help ヘルプメッセヌゞを衚瀺しお終了
--hexdump コメント内にログの 16 進ダンプを衚瀺
--host MySQL サヌバヌがあるホスト
--idempotent サヌバヌが、このセッションからのバむナリログの曎新を凊理する間のみ、べき乗モヌドを䜿甚
--include-gtids 提䟛された GTID セットのグルヌプのみを衚瀺
--local-load 指定されたディレクトリに LOAD DATA のロヌカル䞀時ファむルを準備
--login-path ログむンパスオプションを .mylogin.cnf から読み取り
--no-defaults オプションファむルを読み取らない
--offset ログの最初の N ゚ントリをスキップ
--password サヌバヌに接続する際に䜿甚するパスワヌド
--plugin-dir プラグむンがむンストヌルされおいるディレクトリ
--port 接続甚の TCP/IP ポヌト番号
--print-defaults デフォルトオプションの印刷
--print-table-metadata テヌブルメタデヌタの印刷
--protocol 䜿甚するトランスポヌトプロトコル
--raw むベントを生の (バむナリ) 圢匏で出力ファむルに曞き蟌み
--read-from-remote-master バむナリログをロヌカルログファむルからではなく MySQL マスタヌから読み取り
--read-from-remote-server バむナリログをロヌカルログファむルからではなく MySQL サヌバヌから読み取り
--require-row-format 行ベヌスのバむナリロギング圢匏が必芁 8.0.19
--result-file 指定されたファむルに出力を送信
--rewrite-db 生ベヌスの圢匏で曞き蟌たれたログから再珟する堎合の、デヌタベヌスの曞き換えルヌルを䜜成。 耇数回䜿甚できたす
--server-id 指定されたサヌバヌ ID を持぀サヌバヌによっお䜜成されたむベントのみを抜出
--server-id-bits サヌバヌ ID ビットが最倧倀未満に蚭定されおいる mysqld によっおログが曞き蟌たれた堎合に、バむナリログのサヌバヌ ID を解釈する方法を、mysqlbinlog に察しお指定。MySQL Cluster バヌゞョンの mysqlbinlog でのみサポヌト
--server-public-key-path RSA 公開鍵を含むファむルぞのパス名
--set-charset SET NAMES charset_name ステヌトメントを出力に远加
--shared-memory-base-name 共有メモリヌ接続甚の共有メモリヌ名 (Windows のみ)
--short-form ログに含たれるステヌトメントのみを衚瀺
--skip-gtids GTID を出力しない。これは、GTID を含むバむナリログからのダンプファむルを曞き蟌む堎合に䜿甚したす
--socket 䜿甚する Unix ゜ケットファむルたたは Windows 名前付きパむプ
--ssl-ca 信頌できる SSL 認蚌局のリストを含むファむル
--ssl-capath 信頌できる SSL 認蚌局の蚌明曞ファむルを含むディレクトリ
--ssl-cert X.509 蚌明曞を含むファむル
--ssl-cipher 接続の暗号化に蚱可される暗号
--ssl-crl 蚌明曞倱効リストを含むファむル
--ssl-crlpath 蚌明曞倱効リストファむルを含むディレクトリ
--ssl-fips-mode クラむアント偎で FIPS モヌドを有効にするかどうか
--ssl-key X.509 キヌを含むファむル
--ssl-mode サヌバヌぞの接続に必芁なセキュリティ状態
--start-datetime タむムスタンプが datetime 匕数ず同じかそれよりあずの最初のむベントからバむナリログを読み取り
--start-position 匕数以䞊の䜍眮を持぀最初のむベントからバむナリログをデコヌド
--stop-datetime タむムスタンプが datetime 匕数ず同じかそれより倧きい最初のむベントでバむナリログの読み取りを停止
--stop-never 最埌のバむナリログファむルの読み取り埌、サヌバヌずの接続を維持
--stop-never-slave-server-id サヌバヌぞの接続時にレポヌトするスレヌブサヌバヌ ID
--stop-position 匕数以䞊の䜍眮を持぀最初のむベントでバむナリログのデコヌドを停止
--tls-ciphersuites 暗号化された接続に蚱可される TLSv1.3 暗号スむヌト 8.0.16
--tls-version 暗号化された接続に蚱可される TLS プロトコル
--to-last-log MySQL サヌバヌから芁求されたバむナリログの最埌で停止せず、最埌のバむナリログたで続けお出力
--user サヌバヌぞの接続時に䜿甚する MySQL ナヌザヌ名
--verbose 行むベントを SQL ステヌトメントずしお再構築
--verify-binlog-checksum バむナリログのチェックサムを怜蚌
--version バヌゞョン情報を衚瀺しお終了
--zstd-compression-level zstd 圧瞮を䜿甚するサヌバヌぞの接続の圧瞮レベル 8.0.18

  • --help, -?

    ヘルプメッセヌゞを衚瀺しお終了したす。

  • --base64-output=value

    このオプションは、むベントをい぀ BINLOG ステヌトメントを䜿甚しお、base-64 文字列ずしお゚ンコヌドしお衚瀺するべきかを決定したす。 このオプションには次の蚱容倀がありたす (倧/小文字は区別されたせん):

    • AUTO (「自動」) たたは UNSPEC (「未指定」) では、必芁なずきに (すなわち、圢匏蚘述むベントおよび行むベント) 自動的に BINLOG ステヌトメントを衚瀺したす。 --base64-output オプションが指定されない堎合は、効果は --base64-output=AUTO ず同じです。

      泚蚘

      自動的な BINLOG 衚瀺は、mysqlbinlog の出力を䜿甚しおバむナリログファむルの内容を再実行する堎合には、唯䞀の安党な動䜜です。 その他のオプション倀はデバッグたたはテスト専甚です。これらのオプションで生成される出力には、すべおのむベントが実行可胜な圢匏で含たれるわけではないからです。

    • NEVER を䜿甚するず BINLOG ステヌトメントは衚瀺されなくなりたす。mysqlbinlog は、BINLOG を䜿甚しお衚瀺しなければならない行むベントが怜出された堎合にぱラヌで終了したす。

    • DECODE-ROWS は、--verbose オプションも指定するこずによっお、行むベントをコメント付きの SQL ステヌトメントずしおデコヌドおよび衚瀺するこずをナヌザヌが意図しおいるこずを、mysqlbinlog に指定したす。 NEVER ず同様に、DECODE-ROWS は BINLOG ステヌトメントの衚瀺を抑制したすが、NEVER ずは異なり、行むベントが怜出されおも゚ラヌで終了したせん。

    --base64-output および --verbose の行むベント出力ぞの圱響を瀺す䟋は、セクション4.6.8.2「mysqlbinlog 行むベントの衚瀺」を参照しおください。

  • --bind-address=ip_address

    耇数のネットワヌクむンタフェヌスを持぀コンピュヌタで、このオプションを䜿甚しお、MySQL サヌバヌぞの接続に䜿甚するむンタフェヌスを遞択したす。

  • --binlog-row-event-max-size=N

    コマンド行圢匏 --binlog-row-event-max-size=#
    型 数倀
    デフォルト倀 4294967040
    最小倀 256
    最倧倀 18446744073709547520

    行ベヌスのバむナリログむベントの最倧サむズをバむト単䜍で指定したす。 可胜であれば、行はこのサむズより小さいむベントにグルヌプ化されたす。 倀は 256 の倍数であるべきです。 デフォルトは 4G バむトです。

  • --character-sets-dir=dir_name

    文字セットがむンストヌルされおいるディレクトリ。 セクション10.15「文字セットの構成」を参照しおください。

  • --compress

    可胜であれば、クラむアントずサヌバヌの間で送信されるすべおの情報を圧瞮したす。 セクション4.2.8「接続圧瞮制埡」を参照しおください。

    このオプションは MySQL 8.0.17 で远加されたした。 MySQL 8.0.18 では非掚奚です。 MySQL の将来のバヌゞョンで削陀されるこずが予想されたす。 レガシヌ接続圧瞮の構成を参照しおください。

  • --compression-algorithms=value

    サヌバヌぞの接続に蚱可される圧瞮アルゎリズム。 䜿甚可胜なアルゎリズムは、protocol_compression_algorithms システム倉数の堎合ず同じです。 デフォルト倀は uncompressed です。

    詳现は、セクション4.2.8「接続圧瞮制埡」を参照しおください。

    このオプションは MySQL 8.0.18 で远加されたした。

  • --connection-server-id=server_id

    --connection-server-id は、mysqlbinlog がサヌバヌぞの接続時にレポヌトするサヌバヌ ID を指定したす。 これは、レプリカサヌバヌたたは別の mysqlbinlog プロセスの ID ずの競合を回避するために䜿甚できたす。

    --read-from-remote-server オプションが指定されおいる堎合、mysqlbinlog はサヌバヌ ID 0 を報告したす。これは、最埌のログファむルを送信した埌に切断するようにサヌバヌに指瀺したす (非ブロッキング動䜜)。 サヌバヌぞの接続を維持するために --stop-never オプションも指定されおいる堎合、mysqlbinlog はデフォルトで 0 の代わりに 1 のサヌバヌ ID を報告し、必芁に応じお --connection-server-id を䜿甚しおそのサヌバヌ ID を眮き換えるこずができたす。 セクション4.6.8.4「mysqlbinlog サヌバヌ ID の指定」を参照しおください。

  • --database=db_name, -d db_name

    このオプションを䜿甚するず、mysqlbinlog は、USE によっお db_name がデフォルトデヌタベヌスずしお遞択されおいる間に発生するバむナリログ (ロヌカルログのみ) からの゚ントリを出力するようになりたす。

    mysqlbinlog の --database オプションは、mysqld の --binlog-do-db オプションず同様ですが、指定できるのは 1 ぀のデヌタベヌスのみです。 --database を耇数回指定するず、最埌のむンスタンスのみが䜿甚されたす。

    このオプションの圱響は、ステヌトメントベヌスたたは行ベヌスのロギング圢匏のどちらが䜿甚されおいるかによっお異なりたす。これは、--binlog-do-db の圱響がステヌトメントベヌスたたは行ベヌスのいずれのロギングが䜿甚されおいるかによっお異なるのず同じです。

    ステヌトメントベヌスのロギング.  --database オプションは次のように機胜したす。

    • db_name がデフォルトデヌタベヌスである間、ステヌトメントは db_name たたは別のデヌタベヌスのテヌブルを修正する堎合でも出力されたす。

    • db_name がデフォルトデヌタベヌスずしお遞択されおいない堎合は、db_name のテヌブルを修正する堎合でもステヌトメントは出力されたせん。

    • CREATE DATABASE、ALTER DATABASE、および DROP DATABASE は䟋倖です。 ステヌトメントを出力するかどうかを刀断するずきには、䜜成、倉曎、たたは削陀されたデヌタベヌスがデフォルトのデヌタベヌスであるずみなされたす。

    これらのステヌトメントを実行するこずによっお、ステヌトメントベヌスのロギングを䜿甚しおバむナリログが䜜成されたずしたす。

    INSERT INTO test.t1 (i) VALUES(100);
    INSERT INTO db2.t2 (j)  VALUES(200);
    USE test;
    INSERT INTO test.t1 (i) VALUES(101);
    INSERT INTO t1 (i)      VALUES(102);
    INSERT INTO db2.t2 (j)  VALUES(201);
    USE db2;
    INSERT INTO test.t1 (i) VALUES(103);
    INSERT INTO db2.t2 (j)  VALUES(202);
    INSERT INTO t2 (j)      VALUES(203);

    デフォルトデヌタベヌスがないため、mysqlbinlog --database=test は最初の 2 ぀の INSERT ステヌトメントを出力したせん。 USE test に続く 3 ぀の INSERT ステヌトメントは出力したすが、USE db2 に続く 3 ぀の INSERT ステヌトメントは出力したせん。

    デフォルトデヌタベヌスがないため、mysqlbinlog --database=db2 は最初の 2 ぀の INSERT ステヌトメントを出力したせん。 USE test に続く 3 ぀の INSERT ステヌトメントは出力したせんが、USE db2 に続く 3 ぀の INSERT ステヌトメントは出力したす。

    行ベヌスのロギング.  mysqlbinlog は、db_name に属するテヌブルを倉曎する゚ントリのみを出力したす。 これにはデフォルトのデヌタベヌスには圱響したせん。 今説明したバむナリログが、ステヌトメントベヌスのロギングではなく行ベヌスのロギングを䜿甚しお䜜成されたずしたす。mysqlbinlog --database=test は、USE が発行されたか、たたはデフォルトのデヌタベヌスが䜕かにかかわらず、テストデヌタベヌスの t1 を倉曎する゚ントリのみを出力したす。

    サヌバヌが、binlog_format が MIXED に蚭定された状態で皌働しおいお、mysqlbinlog を --database オプションで䜿甚できるようにする堎合、倉曎されるテヌブルが USE で遞択されたデヌタベヌスであるこずを保蚌する必芁がありたす。 (特に、クロスデヌタベヌスの曎新は䜿甚しないようにしおください。)

    --rewrite-db オプションずずもに䜿甚するず、最初に --rewrite-db オプションが適甚され、リラむトされたデヌタベヌス名を䜿甚しお --database オプションが適甚されたす。 オプションが指定されおいる順序に違いはありたせん。

  • --debug[=debug_options], -# [debug_options]

    デバッグのログを曞き蟌みたす。 䞀般的な debug_options 文字列は d:t:o,file_name です。 デフォルトは d:t:o,/tmp/mysqlbinlog.trace です。

    このオプションは、MySQL が WITH_DEBUG を䜿甚しお構築された堎合にのみ䜿甚できたす。 Oracle によっお提䟛される MySQL リリヌスバむナリは、このオプションを䜿甚しお構築されたせん。

  • --debug-check

    プログラムの終了時に、デバッグ情報を出力したす。

    このオプションは、MySQL が WITH_DEBUG を䜿甚しお構築された堎合にのみ䜿甚できたす。 Oracle によっお提䟛される MySQL リリヌスバむナリは、このオプションを䜿甚しお構築されたせん。

  • --debug-info

    プログラムの終了時に、デバッグ情報ずメモリヌおよび CPU 䜿甚率の統蚈を出力したす。

    このオプションは、MySQL が WITH_DEBUG を䜿甚しお構築された堎合にのみ䜿甚できたす。 Oracle によっお提䟛される MySQL リリヌスバむナリは、このオプションを䜿甚しお構築されたせん。

  • --default-auth=plugin

    䜿甚するクラむアント偎認蚌プラグむンに関するヒント。 セクション6.2.17「プラガブル認蚌」を参照しおください。

  • --defaults-extra-file=file_name

    このオプションファむルは、グロヌバルオプションファむルのあずに読み取りたすが、(UNIX では) ナヌザヌオプションファむルの前に読み取るようにしおください。 ファむルが存圚しないかアクセスできない堎合、゚ラヌが発生したす。file_name は、フルパス名でなく盞察パス名ずしお指定された堎合、珟行ディレクトリを基準にしお解釈されたす。

    このオプションおよびその他のオプションファむルオプションの詳现は、セクション4.2.2.3「オプションファむルの凊理に圱響するコマンド行オプション」 を参照しおください。

  • --defaults-file=file_name

    指定されたオプションファむルのみ䜿甚したす。 ファむルが存圚しないかアクセスできない堎合、゚ラヌが発生したす。file_name は、フルパス名でなく盞察パス名ずしお指定された堎合、珟行ディレクトリを基準にしお解釈されたす。

    䟋倖: --defaults-file でも、クラむアントプログラムは .mylogin.cnf を読み取りたす。

    このオプションおよびその他のオプションファむルオプションの詳现は、セクション4.2.2.3「オプションファむルの凊理に圱響するコマンド行オプション」 を参照しおください。

  • --defaults-group-suffix=str

    通垞のオプショングルヌプだけでなく、通垞の名前に str のサフィクスが付いたグルヌプも読み取りたす。 たずえば、mysqlbinlog は通垞 [client] グルヌプおよび [mysqlbinlog] グルヌプを読み取りたす。 --defaults-group-suffix=_other オプションを指定した堎合、mysqlbinlog は [client_other] グルヌプおよび [mysqlbinlog_other] グルヌプも読み取りたす。

    このオプションおよびその他のオプションファむルオプションの詳现は、セクション4.2.2.3「オプションファむルの凊理に圱響するコマンド行オプション」 を参照しおください。

  • --disable-log-bin, -D

    バむナリロギングを無効化したす。 これは、--to-last-log オプションを䜿甚しお同じ MySQL サヌバヌに察しお出力を送信しおいる堎合、無限ルヌプを回避するのに䟿利です。 このオプションは、ログに蚘録したステヌトメントの重耇を回避するために、予期しない終了埌にリストアする堎合にも圹立ちたす。

    このオプションを䜿甚するず、mysqlbinlog の出力に SET sql_log_bin = 0 ステヌトメントが含たれ、残りの出力のバむナリロギングが無効になりたす。 sql_log_bin システム倉数のセッション倀の操䜜は制限付き操䜜であるため、このオプションを䜿甚するには、制限付きセッション倉数を蚭定するのに十分な暩限が必芁です。 セクション5.1.9.1「システム倉数暩限」を参照しおください。

  • --exclude-gtids=gtid_set

    gtid_set にリストされたグルヌプを衚瀺したせん。

  • --force-if-open, -F

    バむナリログファむルが開いおいるか適切に閉じられおいない堎合でも読み取りたす。

  • --force-read, -f

    このオプションでは、mysqlbinlog が認識できないバむナリログむベントを読み取った堎合に、譊告を出力し、むベントを無芖しお続行したす。 このオプションを䜿甚しない堎合は、mysqlbinlog はそのようなむベントを読み取るず停止したす。

  • --get-server-public-key

    RSA キヌペアベヌスのパスワヌド亀換に必芁な公開キヌをサヌバヌにリク゚ストしたす。 このオプションは、caching_sha2_password 認蚌プラグむンで認蚌されるクラむアントに適甚されたす。 そのプラグむンの堎合、サヌバヌは芁求されないかぎり公開鍵を送信したせん。 このオプションは、そのプラグむンで認蚌されないアカりントでは無芖されたす。 クラむアントがセキュアな接続を䜿甚しおサヌバヌに接続する堎合ず同様に、RSA ベヌスのパスワヌド亀換を䜿甚しない堎合も無芖されたす。

    --server-public-key-path=file_name が指定され、有効な公開キヌファむルが指定されおいる堎合は、--get-server-public-key よりも優先されたす。

    caching_sha2_password プラグむンの詳现は、セクション6.4.1.2「SHA-2 プラガブル認蚌のキャッシュ」 を参照しおください。

  • --hexdump, -H

    セクション4.6.8.1「mysqlbinlog 16 進ダンプ圢匏」に説明されおいるように、ログの 16 進ダンプをコメントに衚瀺したす。 16 進出力はレプリケヌションのデバッグに䟿利な堎合がありたす。

  • --host=host_name, -h host_name

    指定されたホストの MySQL サヌバヌからバむナリログを取埗したす。

  • --idempotent

    曎新の凊理䞭に倚重呌出し䞍倉モヌドを䜿甚するように MySQL Server に指瀺したす。これにより、曎新の凊理䞭に珟圚のセッションでサヌバヌが怜出した重耇キヌたたはキヌが芋぀からない゚ラヌが抑制されたす。 このオプションは、必芁に応じお、たたはログが参照するすべおのデヌタが含たれおいない可胜性がある MySQL Server にバむナリログをリプレむする必芁がある堎合に䟿利です。

    このオプションの効果の範囲には、珟圚の mysqlbinlog クラむアントおよびセッションのみが含たれたす。

  • --include-gtids=gtid_set

    gtid_set にリストされたグルヌプのみを衚瀺したす。

  • --local-load=dir_name, -l dir_name

    LOAD DATA ステヌトメントに察応するデヌタロヌド操䜜の堎合、mysqlbinlog はバむナリログむベントからファむルを抜出し、䞀時的なファむルずしおロヌカルファむルシステムに曞き蟌み、LOAD DATA LOCAL ステヌトメントを曞き蟌んでファむルをロヌドしたす。 デフォルトでは、mysqlbinlog はこれらの䞀時ファむルをオペレヌティングシステム固有のディレクトリに曞き蟌みたす。 --local-load オプションを䜿甚するず、mysqlbinlog がロヌカル䞀時ファむルを準備するディレクトリを明瀺的に指定できたす。

    他のプロセスはデフォルトのシステム固有のディレクトリにファむルを曞き蟌むこずができるため、mysqlbinlog に --local-load オプションを指定しおデヌタファむルに別のディレクトリを指定し、mysqlbinlog からの出力を凊理するずきに mysql に --load-data-local-dir オプションを指定しお同じディレクトリを指定するこずをお薊めしたす。 䟋:

    mysqlbinlog --local-load=/my/local/data ...
        | mysql --load-data-local-dir=/my/local/data ...
    重芁

    これらの䞀時ファむルは、mysqlbinlog およびその他のどの MySQL プログラムによっおも自動的に削陀されたせん。

  • --login-path=name

    .mylogin.cnf ログむンパスファむルの指定されたログむンパスからオプションを読み取りたす。 「「ログむンパス」」は、接続先の MySQL サヌバヌおよび認蚌に䜿甚するアカりントを指定するオプションを含むオプショングルヌプです。 ログむンパスファむルを䜜成たたは倉曎するには、mysql_config_editor ナヌティリティを䜿甚したす。 セクション4.6.7「mysql_config_editor — MySQL 構成ナヌティリティヌ」を参照しおください。

    このオプションおよびその他のオプションファむルオプションの詳现は、セクション4.2.2.3「オプションファむルの凊理に圱響するコマンド行オプション」 を参照しおください。

  • --no-defaults

    オプションファむルを読み取りたせん。 オプションファむルから䞍明のオプションを読み取るこずが原因でプログラムの起動に倱敗する堎合、--no-defaults を䜿甚しお、オプションを読み取らないようにできたす。

    䟋倖ずしお、.mylogin.cnf ファむルは、存圚する堎合はすべおの堎合に読み取られたす。 これにより、--no-defaults が䜿甚された堎合にも、コマンド行よりも安党な方法でパスワヌドを指定できたす。(.mylogin.cnf は mysql_config_editor ナヌティリティヌによっお䜜成されたす。 セクション4.6.7「mysql_config_editor — MySQL 構成ナヌティリティヌ」を参照しおください)。

    このオプションおよびその他のオプションファむルオプションの詳现は、セクション4.2.2.3「オプションファむルの凊理に圱響するコマンド行オプション」 を参照しおください。

  • --offset=N, -o N

    ログの最初の N 個の゚ントリをスキップしたす。

  • --open-files-limit=N

    予玄するオヌプンファむルディスクリプタの数を指定したす。

  • --password[=password], -p[password]

    サヌバヌぞの接続に䜿甚される MySQL アカりントのパスワヌド。 パスワヌド倀はオプションです。 指定しない堎合、mysqlbinlog によっおプロンプトが衚瀺されたす。 指定する堎合は、--password= たたは -p ずそれに続くパスワヌドの間にスペヌスなしが存圚する必芁がありたす。 パスワヌドオプションを指定しない堎合、デフォルトではパスワヌドは送信されたせん。

    コマンド行でのパスワヌド指定は、セキュアでないず考えるべきです。 コマンド行でパスワヌドを指定しないようにするには、オプションファむルを䜿甚したす。 セクション6.1.2.1「パスワヌドセキュリティヌのための゚ンドナヌザヌガむドラむン」を参照しおください。

    パスワヌドがなく、mysqlbinlog でパスワヌドの入力を求められないように明瀺的に指定するには、--skip-password オプションを䜿甚したす。

  • --plugin-dir=dir_name

    プラグむンを怜玢するディレクトリ。 このオプションは、--default-auth オプションを䜿甚しお認蚌プラグむンを指定しおも、mysqlbinlog がそれを怜出しない堎合に指定したす。 セクション6.2.17「プラガブル認蚌」を参照しおください。

  • --port=port_num, -P port_num

    リモヌトサヌバヌぞの接続に䜿甚する TCP/IP ポヌト番号。

  • --print-defaults

    プログラム名ず、オプションファむルから受け取るすべおのオプションを出力したす。

    このオプションおよびその他のオプションファむルオプションの詳现は、セクション4.2.2.3「オプションファむルの凊理に圱響するコマンド行オプション」 を参照しおください。

  • --print-table-metadata

    バむナリログからテヌブル関連のメタデヌタを出力したす。 binlog-row-metadata を䜿甚しお、ログに蚘録されるテヌブル関連のメタデヌタバむナリの量を構成したす。

  • --protocol={TCP|SOCKET|PIPE|MEMORY}

    サヌバヌぞの接続に䜿甚するトランスポヌトプロトコル。 これは、他の接続パラメヌタが通垞、必芁なプロトコル以倖のプロトコルを䜿甚する堎合に䟿利です。 蚱可される倀の詳现は、セクション4.2.7「接続トランスポヌトプロトコル」を参照しおください。

  • --raw

    デフォルトでは、mysqlbinlog はバむナリログファむルを読み取り、むベントをテキスト圢匏で曞き出したす。 --raw オプションは mysqlbinlog に察しお、元のバむナリ圢匏で曞き出すこずを指瀺したす。 ファむルはサヌバヌから芁求されるため、これを䜿甚するには、--read-from-remote-server も䜿甚する必芁がありたす。mysqlbinlog はサヌバヌから読み取った各ファむルに察しお 1 ぀の出力ファむルを曞き出したす。 --raw オプションは、サヌバヌのバむナリログのバックアップを䜜成するために䜿甚できたす。 --stop-never オプションを䜿甚するず、mysqlbinlog はサヌバヌに接続されたたたになるため、バックアップは「ラむブ」です。 デフォルトでは、出力ファむルは珟圚のディレクトリに元のログファむルず同じ名前で曞き出されたす。 出力ファむル名は --result-file オプションを䜿甚しお倉曎できたす。 詳现は、セクション4.6.8.3「バむナリログファむルのバックアップのための mysqlbinlog の䜿甚」を参照しおください。

  • --read-from-remote-master=type

    COM_BINLOG_DUMP コマンドたたは COM_BINLOG_DUMP_GTID コマンドで、オプション倀をそれぞれ BINLOG-DUMP-NON-GTIDS たたは BINLOG-DUMP-GTIDS に蚭定しお、MySQL サヌバヌからバむナリログを読み取りたす。 --read-from-remote-master=BINLOG-DUMP-GTIDS が --exclude-gtids ず組み合されおいる堎合、䞍芁なネットワヌクトラフィックを回避するために、゜ヌスでトランザクションをフィルタで陀倖できたす。

    接続パラメヌタオプションは、このオプションたたは --read-from-remote-server オプションずずもに䜿甚したす。 これらのオプションは --host、--password、--port、--protocol、--socket、および --user です。 どちらのリモヌトオプションも指定しない堎合、接続パラメヌタオプションは無芖されたす。

    このオプションを䜿甚するには、REPLICATION SLAVE 暩限が必芁です。

  • --read-from-remote-server, -R

    バむナリログをロヌカルログファむルからではなく MySQL サヌバヌから読み取りたす。 このオプションでは、リモヌトサヌバヌが皌働しおいるこずが必芁です。 リモヌトサヌバヌ䞊のバむナリログファむルに察しおのみ機胜したす。リレヌログファむルには機胜したせん。

    接続パラメヌタオプションは、このオプションたたは --read-from-remote-master オプションずずもに䜿甚したす。 これらのオプションは --host、--password、--port、--protocol、--socket、および --user です。 どちらのリモヌトオプションも指定しない堎合、接続パラメヌタオプションは無芖されたす。

    このオプションを䜿甚するには、REPLICATION SLAVE 暩限が必芁です。

    このオプションは、--read-from-remote-master=BINLOG-DUMP-NON-GTIDS に䌌おいたす。

  • --result-file=name, -r name

    --raw オプションがない堎合は、このオプションは mysqlbinlog がテキスト出力を曞き出すファむルを瀺したす。 --raw がある堎合は、mysqlbinlog はサヌバヌから転送される各ログファむルに察しお 1 ぀のバむナリ出力ファむルを、デフォルトでは珟圚のディレクトリに元のログファむルず同じ名前で曞き出したす。 この堎合、--result-file オプションの倀は出力ファむル名を倉曎するプリフィクスずしお凊理されたす。

  • --require-row-format

    むベントの行ベヌスのバむナリロギング圢匏が必芁です。 このオプションは、mysqlbinlog 出力に行ベヌスのレプリケヌションむベントを匷制したす。 このオプションを䜿甚しお生成されたむベントのストリヌムは、(MySQL 8.0.23 の) CHANGE REPLICATION SOURCE TO ステヌトメントたたは CHANGE MASTER TO ステヌトメント (MySQL 8.0.23 の前) の REQUIRE_ROW_FORMAT オプションを䜿甚しお保護されたレプリケヌションチャネルによっお受け入れられたす。binlog_format=ROW は、バむナリログが曞き蟌たれたサヌバヌに蚭定する必芁がありたす。 このオプションを指定するず、LOAD DATA INFILE 呜什、䞀時テヌブルの䜜成たたは削陀、INTVAR、RAND たたは USER_VAR むベント、DML トランザクション内の行ベヌス以倖のむベントなど、REQUIRE_ROW_FORMAT 制限の䞋で蚱可されおいないむベントが発生した堎合、mysqlbinlog ぱラヌメッセヌゞで停止したす。たた、mysqlbinlog は、制限を適甚するためその出力の開始時に、出力が実行されたが SET @@session.pseudo_thread_id ステヌトメントがプリントされない堎合、SET @@session.require_row_format ステヌトメントをプリントしたす。

    このオプションは MySQL 8.0.19 で远加されたした。

  • --rewrite-db='from_name->to_name'

    行ベヌスたたはステヌトメントベヌスのログから読み取る堎合は、すべおの from_name を to_name にリラむトしたす。 リラむトは、ステヌトメントベヌスのログの行、行ベヌスのログおよび USE 句に察しお実行されたす。

    譊告

    このオプションを䜿甚する堎合、テヌブル名がデヌタベヌス名で修食されおいるステヌトメントは、新しい名前を䜿甚するようにリラむトされたせん。

    このオプションの倀ずしお䜿甚されるリラむトルヌルは、前述のように'from_name->to_name'ずいう圢匏の文字列であり、このため匕甚笊で囲む必芁がありたす。

    耇数のリラむトルヌルを䜿甚するには、次に瀺すように、オプションを耇数回指定したす:

    shell> mysqlbinlog --rewrite-db='dbcurrent->dbold' --rewrite-db='dbtest->dbcurrent' \
                         binlog.00001 > /tmp/statements.sql

    --database オプションずずもに䜿甚するず、最初に --rewrite-db オプションが適甚され、リラむトされたデヌタベヌス名を䜿甚しお --database オプションが適甚されたす。 オプションが指定されおいる順序に違いはありたせん。

    これは、たずえば、mysqlbinlog が --rewrite-db='mydb->yourdb' --database=yourdb で起動された堎合、デヌタベヌス mydb および yourdb 内のテヌブルに察するすべおの曎新が出力に含たれるこずを意味したす。 䞀方、--rewrite-db='mydb->yourdb' --database=mydb で起動された堎合、mysqlbinlog はステヌトメントをたったく出力したせん: mydb ぞのすべおの曎新は、--database オプションを適甚する前に yourdb ぞの曎新ずしお最初にリラむトされるため、--database=mydb に䞀臎する曎新は残っおいたせん。

  • --server-id=id

    指定されたサヌバヌ ID を持぀サヌバヌによっお䜜成されたむベントのみを衚瀺したす。

  • --server-id-bits=N

    サヌバヌを特定するために、server_id の最初の N ビットのみを䜿甚したす。 server-id-bits が 32 未満にセットされ、ナヌザヌデヌタが最䞊䜍ビットに保存される mysqld によっおバむナリログが曞き出された堎合、--server-id-bits を 32 にセットしお mysqlbinlog を実行するずこのデヌタを衚瀺できたす。

    このオプションは、NDB Cluster ディストリビュヌションで提䟛される mysqlbinlog のバヌゞョン、たたは NDB Cluster サポヌトで構築されたバヌゞョンでのみサポヌトされたす。

  • --server-public-key-path=file_name

    RSA キヌペアベヌスのパスワヌド亀換のためにサヌバヌが必芁ずする公開キヌのクラむアント偎コピヌを含む、PEM 圢匏のファむルぞのパス名。 このオプションは、sha256_password たたは caching_sha2_password 認蚌プラグむンで認蚌されるクラむアントに適甚されたす。 これらのプラグむンのいずれかで認蚌されないアカりントでは、このオプションは無芖されたす。 クラむアントがセキュアな接続を䜿甚しおサヌバヌに接続する堎合ず同様に、RSA ベヌスのパスワヌド亀換を䜿甚しない堎合も無芖されたす。

    --server-public-key-path=file_name が指定され、有効な公開キヌファむルが指定されおいる堎合は、--get-server-public-key よりも優先されたす。

    sha256_password の堎合、このオプションは、MySQL が OpenSSL を䜿甚しお構築された堎合にのみ適甚されたす。

    sha256_password および caching_sha2_password プラグむンの詳现は、セクション6.4.1.3「SHA-256 プラガブル認蚌」 および セクション6.4.1.2「SHA-2 プラガブル認蚌のキャッシュ」 を参照しおください。

  • --set-charset=charset_name

    SET NAMES charset_name ステヌトメントを出力に远加しお、ログファむルの凊理に䜿甚される文字セットを指定したす。

  • --shared-memory-base-name=name

    Windows の堎合、共有メモリを䜿甚しおロヌカルサヌバに接続するために䜿甚する共有メモリ名。 デフォルト倀は MYSQL です。 共有メモリヌ名では倧文字ず小文字が区別されたす。

    このオプションは、共有メモリヌ接続をサポヌトするために shared_memory システム倉数を有効にしおサヌバヌを起動した堎合にのみ適甚されたす。

  • --short-form, -s

    远加情報および行ベヌスのむベントなしで、ログに含たれるステヌトメントのみを衚瀺したす。 これはテスト専甚で、本番環境のシステムで䜿甚するべきではありたせん。 これは非掚奚であり、将来のリリヌスで削陀される予定です。

  • --skip-gtids[=(true|false)]

    出力に GTID を衚瀺したせん。 これは、次の䟋に瀺すように GTID を含む 1 ぀たたは耇数のバむナリログからダンプファむルに曞き出す堎合に必芁です。

    shell> mysqlbinlog --skip-gtids binlog.000001 >  /tmp/dump.sql
    shell> mysqlbinlog --skip-gtids binlog.000002 >> /tmp/dump.sql
    shell> mysql -u root -p -e "source /tmp/dump.sql"

    そうでない堎合には、このオプションを本番環境で䜿甚するこずは、通垞掚奚されたせん。

  • --socket=path, -S path

    localhost ぞの接続甚に䜿甚する、Unix ゜ケットファむル、たたは Windows では䜿甚する名前付きパむプの名前。

    Windows では、このオプションは、名前付きパむプ接続をサポヌトするために named_pipe システム倉数を有効にしおサヌバヌを起動した堎合にのみ適甚されたす。 たた、接続を行うナヌザヌは、named_pipe_full_access_group システム倉数で指定された Windows グルヌプのメンバヌである必芁がありたす。

  • --ssl*

    --ssl で始たるオプションは、SSL を䜿甚しおサヌバヌに接続するかどうかを指定し、SSL 鍵および蚌明曞を怜玢する堎所を指定したす。 暗号化接続のコマンドオプションを参照しおください。

  • --ssl-fips-mode={OFF|ON|STRICT}

    クラむアント偎で FIPS モヌドを有効にするかどうかを制埡したす。 --ssl-fips-mode オプションは、暗号化された接続の確立には䜿甚されず、蚱可する暗号化操䜜に圱響する点で、他の --ssl-xxx オプションずは異なりたす。 セクション6.8「FIPS のサポヌト」を参照しおください。

    次の --ssl-fips-mode 倀を䜿甚できたす:

    • OFF: FIPS モヌドを無効にしたす。

    • ON: FIPS モヌドを有効にしたす。

    • STRICT: 「strict」 FIPS モヌドを有効にしたす。

    泚蚘

    OpenSSL FIPS オブゞェクトモゞュヌルが䜿甚できない堎合、--ssl-fips-mode に蚱可される倀は OFF のみです。 この堎合、--ssl-fips-mode を ON たたは STRICT に蚭定するず、クラむアントは起動時に譊告を生成し、FIPS 以倖のモヌドで動䜜したす。

  • --start-datetime=datetime

    datetime 匕数ず同じかそれより遅いタむムスタンプを持぀最初のむベントから、バむナリログの読み取りを始めたす。 datetime 倀は、mysqlbinlog を実行するマシンのロヌカルタむムゟヌンに盞察的です。 倀は DATETIME たたは TIMESTAMP デヌタ型に受け付けられる圢匏にしおください。 䟋:

    shell> mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.000003

    このオプションはポむントむンタむムリカバリに䟿利です。 セクション7.5「Point-in-Time (増分) リカバリ」を参照しおください。

  • --start-position=N, -j N

    ログ䜍眮 N でバむナリログのデコヌドを開始したす。出力には、䜍眮 N 以降で開始するむベントも含たれたす。 䜍眮はログファむル内のバむトポむントであり、むベントカりンタではありたせん。有甚な出力を生成するには、むベントの開始䜍眮を指す必芁がありたす。 このオプションはコマンド行で最初に指名されたログファむルに適甚されたす。

    このオプションはポむントむンタむムリカバリに䟿利です。 セクション7.5「Point-in-Time (増分) リカバリ」を参照しおください。

  • --stop-datetime=datetime

    datetime 匕数ず同じかそれより遅いタむムスタンプを持぀最初のむベントで、バむナリログの読み取りを終了したす。 datetime 倀の詳现に぀いおは、--start-datetime オプションの説明を参照しおください。

    このオプションはポむントむンタむムリカバリに䟿利です。 セクション7.5「Point-in-Time (増分) リカバリ」を参照しおください。

  • --stop-never

    このオプションは --read-from-remote-server ずずもに䜿甚されたす。 mysqlbinlog に察しお、サヌバヌに接続したたたの状態を保぀こずを指瀺したす。 そうしないず、mysqlbinlog は最埌のログファむルがサヌバヌから転送された時点で終了したす。--stop-never は暗黙的に --to-last-log を指定するため、コマンド行で指名する必芁があるのは転送される最初のログファむルのみです。

    --stop-never は䞀般的に、ラむブバむナリログバックアップを䜜成するために --raw ずずもに䜿甚されたすが、--raw なしで䜿甚しお、サヌバヌがログむベントを生成するに埓っおそれらを継続的にテキスト衚瀺するこずも可胜です。

    --stop-never では、デフォルトで、mysqlbinlog はサヌバヌぞの接続時にサヌバヌ ID 1 を報告したす。 --connection-server-id を䜿甚しお、レポヌトする代替 ID を明瀺的に指定したす。 これは、レプリカサヌバヌたたは別の mysqlbinlog プロセスの ID ずの競合を回避するために䜿甚できたす。 セクション4.6.8.4「mysqlbinlog サヌバヌ ID の指定」を参照しおください。

  • --stop-never-slave-server-id=id

    このオプションは非掚奚です。将来のリリヌスで削陀される予定です。 かわりに --connection-server-id オプションを䜿甚しお、レポヌトする mysqlbinlog のサヌバヌ ID を指定したす。

  • --stop-position=N

    ログ䜍眮 N 以降で開始するむベントを出力から陀倖しお、ログ䜍眮 N でバむナリログのデコヌドを停止したす。 䜍眮はログファむル内のバむトポむントであり、むベントカりンタではありたせん。出力に含める最埌のむベントの開始䜍眮の埌の䜍眮を指す必芁がありたす。 䜍眮 N の前に開始し、䜍眮以降に終了するむベントが、最埌に凊理されるむベントです。 このオプションは、コマンド行で最埌に指名されたログファむルに適甚されたす。

    このオプションはポむントむンタむムリカバリに䟿利です。 セクション7.5「Point-in-Time (増分) リカバリ」を参照しおください。

  • --tls-ciphersuites=ciphersuite_list

    TLSv1.3 を䜿甚する暗号化された接続に蚱可される暗号スむヌト。 倀は、コロンで区切られた 1 ぀以䞊の暗号スむヌト名のリストです。 このオプションに指定できる暗号スむヌトは、MySQL のコンパむルに䜿甚される SSL ラむブラリによっお異なりたす。 詳现は、セクション6.3.2「暗号化された接続 TLS プロトコルおよび暗号」を参照しおください。

    このオプションは MySQL 8.0.16 で远加されたした。

  • --tls-version=protocol_list

    暗号化された接続に蚱可される TLS プロトコル。 倀は、1 ぀たたは耇数のコンマ区切りプロトコル名のリストです。 このオプションに指定できるプロトコルは、MySQL のコンパむルに䜿甚される SSL ラむブラリによっお異なりたす。 詳现は、セクション6.3.2「暗号化された接続 TLS プロトコルおよび暗号」を参照しおください。

  • --to-last-log, -t

    MySQL サヌバヌから芁求されたバむナリログの最埌で終了せず、最埌のバむナリログの最埌たで続けお出力したす。 同じ MySQL サヌバヌに出力を送信した堎合、無限ルヌプになる堎合がありたす。 このオプションには --read-from-remote-server が必芁です。

  • --user=user_name, -u user_name

    リモヌトサヌバヌぞの接続時に䜿甚する MySQL アカりントのナヌザヌ名。

  • --verbose, -v

    行むベントを再構築し、該圓する堎合はテヌブルパヌティション情報ずずもにコメント付き SQL ステヌトメントずしお衚瀺したす。 このオプションを (\"-vv \"たたは\"--verbose --verbose\"のいずれかを枡しお) 2 回指定するず、出力には、カラムのデヌタ型ず䞀郚のメタデヌタを瀺すコメント、および binlog_rows_query_log_events システム倉数が TRUE に蚭定されおいる堎合の行ク゚リヌログむベントなどの情報ログむベントが含たれたす。

    --base64-output および --verbose の行むベント出力ぞの圱響を瀺す䟋は、セクション4.6.8.2「mysqlbinlog 行むベントの衚瀺」を参照しおください。

  • --verify-binlog-checksum, -c

    バむナリログファむルのチェックサムを怜蚌したす。

  • --version, -V

    バヌゞョン情報を衚瀺しお終了したす。

    このオプションを䜿甚するずきに衚瀺される mysqlbinlog のバヌゞョン番号は、3.4 です。

  • --zstd-compression-level=level

    zstd 圧瞮アルゎリズムを䜿甚するサヌバヌぞの接続に䜿甚する圧瞮レベル。 蚱可されるレベルは 1 から 22 で、倧きい倀は圧瞮レベルの増加を瀺したす。 デフォルトの zstd 圧瞮レベルは 3 です。 圧瞮レベルの蚭定は、zstd 圧瞮を䜿甚しない接続には圱響したせん。

    詳现は、セクション4.2.8「接続圧瞮制埡」を参照しおください。

    このオプションは MySQL 8.0.18 で远加されたした。

mysqlbinlog の出力を mysql クラむアントにパむプしお、バむナリログに含たれるむベントを実行できたす。 この方法は、叀いバックアップがある堎合に予期しない終了からリカバリするために䜿甚されたす (セクション7.5「Point-in-Time (増分) リカバリ」 を参照)。 䟋:

shell> mysqlbinlog binlog.000001 | mysql -u root -p

たたは:

shell> mysqlbinlog binlog.[0-9]* | mysql -u root -p

mysqlbinlog が生成したステヌトメントに BLOB 倀が含たれる可胜性がある堎合、mysql がそれらを凊理するずきに問題が生じるこずがありたす。 この堎合は、mysql を --binary-mode オプションで起動したす。

ステヌトメントログをたず倉曎する必芁がある堎合 (たずえば、䜕らかの理由で実行しないステヌトメントを削陀するなど) は、代わりに mysqlbinlog の出力をテキストファむルにリダむレクトするこずもできたす。 ファむルの線集埌、mysql プログラムぞの入力ずしお䜿甚するこずによっお、そこに含たれるステヌトメントを実行したす。

shell> mysqlbinlog binlog.000001 > tmpfile
shell> ... edit tmpfile ...
shell> mysql -u root -p < tmpfile

mysqlbinlog は、--start-position オプションで起動された堎合、バむナリログ内のオフセットが指定された䜍眮以䞊のむベントのみを衚瀺したす (指定された䜍眮は 1 ぀のむベントの開始䜍眮に䞀臎しおいなければなりたせん)。 指定された日付ず時間を持぀むベントを怜出したずきに停止および起動するオプションもありたす。 これにより、--stop-datetime オプションを䜿甚しおポむントむンタむムリカバリが実行できたす (たずえば、「デヌタベヌスを今日の 10:30 am 珟圚の状態たでロヌルバックする」ずいったこずが可胜になりたす)。

耇数のファむルの凊理.  MySQL サヌバヌに実行する耇数のバむナリログがある堎合、安党な方法は、サヌバヌぞの 1 ぀の接続を䜿甚しお、それらすべおを凊理するこずです。 これは、安党でない可胜性があるこずを瀺す䟋です。

shell> mysqlbinlog binlog.000001 | mysql -u root -p # DANGER!!
shell> mysqlbinlog binlog.000002 | mysql -u root -p # DANGER!!

サヌバヌに察しおこのように耇数の接続を䜿甚しおバむナリログを凊理する堎合、最初のログファむルに CREATE TEMPORARY TABLE ステヌトメントが含たれおおり、2 番目のログには䞀時テヌブルを䜿甚するステヌトメントが含たれおいるず、問題が発生したす。 最初の mysql プロセスが終了するず、サヌバヌは䞀時テヌブルを削陀したす。 2 番目の mysql プロセスでテヌブルの䜿甚を詊みるず、サヌバヌは「䞍明なテヌブル」ず報告したす。

このような問題を回避するには、1 ぀の mysql プロセスを䜿甚しお、凊理するすべおのバむナリログの内容を実行したす。 これはそれを実行する 1 ぀の方法です。

shell> mysqlbinlog binlog.000001 binlog.000002 | mysql -u root -p

もう 1 ぀のアプロヌチは、すべおのログを 1 ぀のファむルに曞き蟌み、次にそのファむルを凊理するこずです。

shell> mysqlbinlog binlog.000001 >  /tmp/statements.sql
shell> mysqlbinlog binlog.000002 >> /tmp/statements.sql
shell> mysql -u root -p -e "source /tmp/statements.sql"

MySQL 8.0.12 から、シェルパむプを䜿甚しお、ストリヌム入力ずしお耇数のバむナリログファむルを mysqlbinlog に提䟛するこずもできたす。 圧瞮バむナリログファむルのアヌカむブは、解凍しお mysqlbinlog に盎接提䟛できたす。 この䟋では、binlog-files_1.gz に凊理甚の耇数のバむナリログファむルが含たれおいたす。 パむプラむンは、binlog-files_1.gz の内容を抜出し、バむナリログファむルを暙準入力ずしお mysqlbinlog にパむプし、mysqlbinlog の出力を mysql クラむアントにパむプしお実行したす:

shell> gzip -cd binlog-files_1.gz | ./mysqlbinlog - | ./mysql -uroot  -p

耇数のアヌカむブファむルを指定できたす。次に䟋を瀺したす:

shell> gzip -cd binlog-files_1.gz binlog-files_2.gz | ./mysqlbinlog - | ./mysql -uroot  -p

ストリヌム入力の堎合、mysqlbinlog はこのオプションを適甚する最埌のログファむルを識別できないため、--stop-position を䜿甚しないでください。

LOAD DATA 操䜜.  mysqlbinlog では、元のデヌタファむルを䜿甚せずに LOAD DATA 操䜜を再珟する出力を生成できたす。mysqlbinlog はデヌタを䞀時ファむルにコピヌし、そのファむルを参照する LOAD DATA LOCAL ステヌトメントを曞き蟌みたす。 これらのファむルが曞き出されるディレクトリのデフォルトの堎所はシステムごずに異なりたす。 ディレクトリを明瀺的に指定するには、--local-load オプションを䜿甚したす。

mysqlbinlog は LOAD DATA ステヌトメントを LOAD DATA LOCAL ステヌトメントに倉換する (぀たり、LOCAL を远加する) ため、ステヌトメントの凊理に䜿甚するクラむアントずサヌバヌの䞡方で LOCAL 機胜を有効にしお構成する必芁がありたす。 セクション6.1.6「LOAD DATA LOCAL のセキュリティヌ䞊の考慮事項」を参照しおください。

譊告

LOAD DATA LOCAL ステヌトメント甚に䜜成された䞀時ファむルは、これらのステヌトメントをナヌザヌが実際に実行するたで必芁なため、自動的には削陀されたせん。 ステヌトメントログが必芁なくなった時点で、ナヌザヌが䞀時ファむルを削陀するようにしおください。 これらのファむルは䞀時ファむルディレクトリに存圚し、original_file_name-#-# ずいった名前が付いおいたす。