MySQL 8.0 リファレンスマニュアル


4.5.1.1 mysql クライアントオプション

mysql は次のオプションをサポートします。これらはコマンド行またはオプションファイルの [mysql] グループおよび [client] グループで指定できます。 MySQL プログラムによって使用されるオプションファイルの詳細については、セクション4.2.2.2「オプションファイルの使用」を参照してください。

表 4.11 「mysql クライアントオプション」

オプション名 説明 導入 非推奨
--auto-rehash 自動リハッシュを有効化
--auto-vertical-output 結果セットの垂直形式での表示を有効化
--batch 履歴ファイルを使用しない
--binary-as-hex 16 進数表記でバイナリ値を表示
--binary-mode \r\n の \n への変換および \0 をクエリーの終端として処理することを無効化
--bind-address 指定されたネットワークインタフェースを使用して MySQL サーバーに接続
--character-sets-dir 文字セットがインストールされているディレクトリ
--column-names 結果にカラム名を記述
--column-type-info 結果セットのメタデータを表示
--comments サーバーに送信されたステートメント内のコメントを保持するか削除するか
--compress クライアントとサーバー間で送信される情報をすべて圧縮 8.0.18
--compression-algorithms サーバーへの接続に許可される圧縮アルゴリズム 8.0.18
--connect-expired-password クライアントが期限切れパスワードのサンドボックスモードを処理できることをサーバーに指示
--connect-timeout 接続タイムアウトまでの秒数
--database 使用されるべきデータベース
--debug デバッグログを書き込みます。MySQL がデバッグサポート付きで構築された場合にのみサポートされます
--debug-check プログラムの終了時にデバッグ情報を出力
--debug-info プログラムの終了時に、デバッグ情報、メモリー、および CPU の統計を出力
--default-auth 使用する認証プラグイン
--default-character-set デフォルト文字セットを指定
--defaults-extra-file 通常のオプションファイルに加えて、名前付きオプションファイルを読み取ります
--defaults-file 指名されたオプションファイルのみを読み取る
--defaults-group-suffix オプショングループのサフィクス値
--delimiter ステートメント区切り文字を設定
--dns-srv-name ホスト情報のための DNS SRV 参照の使用 8.0.22
--enable-cleartext-plugin 平文の認証プラグインを有効化
--execute ステートメントを実行して終了
--force SQL エラーが発生しても続行
--get-server-public-key サーバーから RSA 公開キーをリクエスト
--help ヘルプメッセージを表示して終了
--histignore ロギングに関してどのステートメントを無視するかを指定するパターン
--host MySQL サーバーがあるホスト
--html HTML 出力を生成します
--ignore-spaces 関数名のあとのスペースを無視
--init-command 接続後に実行する SQL ステートメント
--line-numbers エラーの行番号を書き込み
--load-data-local-dir LOAD DATA LOCAL ステートメントで指定されたファイルのディレクトリ 8.0.21
--local-infile LOAD DATA の LOCAL 機能の有効化または無効化
--login-path ログインパスオプションを .mylogin.cnf から読み取り
--max-allowed-packet サーバーとの間で送受信するパケットの最大長
--max-join-size --safe-updates を使用する結合で、自動的に設定される行の制限
--named-commands 名前付き mysql コマンドを有効化
--net-buffer-length TCP/IP とソケット通信のバッファーサイズ
--network-namespace ネットワークネームスペースの指定 8.0.22
--no-auto-rehash 自動リハッシュを無効化
--no-beep エラー時に音を発生させない
--no-defaults オプションファイルを読み取らない
--one-database コマンド行で指定されたデフォルトデータベースに対するステートメント以外を無視
--pager クエリー出力のページングに指定されたコマンドを使用
--password サーバーに接続する際に使用するパスワード
--pipe 名前付きパイプを使用してサーバに接続する (Windows のみ)
--plugin-dir プラグインがインストールされているディレクトリ
--port 接続用の TCP/IP ポート番号
--print-defaults デフォルトオプションの印刷
--prompt プロンプトを指定された形式に設定
--protocol 使用するトランスポートプロトコル
--quick 各クエリーの結果をキャッシュしない
--raw カラム値をエスケープの変換なしで書き込み
--reconnect サーバーとの接続が失われたとき、再接続を自動的に試行
--safe-updates, --i-am-a-dummy キー値を指定する UPDATE ステートメントおよび DELETE ステートメントのみを許可
--select-limit --safe-updates 使用時に自動的に設定される SELECT ステートメントの制限
--server-public-key-path RSA 公開鍵を含むファイルへのパス名
--shared-memory-base-name 共有メモリー接続用の共有メモリー名 (Windows のみ)
--show-warnings 各ステートメントのあとに警告があれば表示
--sigint-ignore SIGINT 信号を無視 (通常、Control+C を入力した結果)
--silent サイレントモード
--skip-auto-rehash 自動リハッシュを無効化
--skip-column-names 結果にカラム名を記述しない
--skip-line-numbers エラーの行番号を省略
--skip-named-commands 名前付き mysql コマンドを無効化
--skip-pager ページングを無効化
--skip-reconnect 再接続を無効化
--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 サーバーへの接続に必要なセキュリティ状態
--syslog インタラクティブなステートメントをシステムログに記録
--table 出力を表形式で表示
--tee 出力のコピーを指定されたファイルに追加
--tls-ciphersuites 暗号化された接続に許可される TLSv1.3 暗号スイート 8.0.16
--tls-version 暗号化された接続に許可される TLS プロトコル
--unbuffered 各クエリーのあとでバッファーをフラッシュ
--user サーバーへの接続時に使用する MySQL ユーザー名
--verbose 冗長モード
--version バージョン情報を表示して終了
--vertical クエリー出力行を垂直形式で出力 (カラム値ごとに 1 行)
--wait 接続が確立できない場合、中止せずに待機してからリトライ
--xml XML 出力を生成
--zstd-compression-level zstd 圧縮を使用するサーバーへの接続の圧縮レベル 8.0.18

  • --help, -?

    ヘルプメッセージを表示して終了します。

  • --auto-rehash

    自動リハッシュを有効化 このオプションはデフォルトでオンになっており、データベース、テーブル、およびカラムの名前補完が可能になります。 リハッシュを無効にするには、--disable-auto-rehash を使用します。 これにより、mysql の起動がより高速になりますが、名前補完を使用する場合は rehash コマンドまたはそのショートカット \# を発行する必要があります。

    名前を補完するには、最初の部分を入力して Tab を押します。 名前があいまいでない場合、mysql がその名前を補完します。 そうでない場合は、Tab をもう一度押して、これまでに入力した値で始まる、考えられる名前を表示できます。 デフォルトのデータベースがない場合、補完は行われません。

    注記

    この機能では、readline ライブラリでコンパイルされた MySQL クライアントが必要です。 通常、readline ライブラリは Windows では使用できません。

  • --auto-vertical-output

    結果セットが現在のウィンドウに対して大きすぎる場合には縦に表示され、そうでない場合は通常の表形式が使用されるようになります。 (これは、; または \G で終了するステートメントに適用されます。)

  • --batch, -B

    カラム区切り文字としてタブを使用し、各行を新しい行に出力します。 このオプションでは、mysql は履歴ファイルを使用しません。

    バッチモードでは、表形式でない出力が生成され、特殊文字のエスケープ処理が行われます。 raw モードを使用すれば、エスケープ処理を無効にできます。--raw オプションの説明を参照してください。

  • --binary-as-hex

    このオプションを指定すると、mysql は 16 進数表記 (0xvalue) を使用してバイナリデータを表示します。 これは、全体的な出力表示形式が表形式、垂直形式、HTML 形式または XML 形式のいずれであるかに関係なく発生します。

    --binary-as-hex を有効にすると、CHAR()UNHEX() などの関数によって返されるものも含め、すべてのバイナリ文字列の表示に影響します。 次の例では、A の ASCII コード (65 decimal、41 hexadecimal) を使用してこれを後退させます:

    • --binary-as-hex 無効:

      mysql> SELECT CHAR(0x41), UNHEX('41');
      +------------+-------------+
      | CHAR(0x41) | UNHEX('41') |
      +------------+-------------+
      | A          | A           |
      +------------+-------------+
    • --binary-as-hex 有効:

      mysql> SELECT CHAR(0x41), UNHEX('41');
      +------------------------+--------------------------+
      | CHAR(0x41)             | UNHEX('41')              |
      +------------------------+--------------------------+
      | 0x41                   | 0x41                     |
      +------------------------+--------------------------+

    --binary-as-hex が有効かどうかに関係なく文字列として表示されるようにバイナリ文字列式を記述するには、次の手法を使用します:

    • CHAR() 関数には、次の USING charset 句があります:

      mysql> SELECT CHAR(0x41 USING utf8mb4);
      +--------------------------+
      | CHAR(0x41 USING utf8mb4) |
      +--------------------------+
      | A                        |
      +--------------------------+
    • より一般的には、CONVERT() を使用して式を特定の文字セットに変換します:

      mysql> SELECT CONVERT(UNHEX('41') USING utf8mb4);
      +------------------------------------+
      | CONVERT(UNHEX('41') USING utf8mb4) |
      +------------------------------------+
      | A                                  |
      +------------------------------------+

    MySQL 8.0.19 では、mysql が対話モードで動作している場合、このオプションはデフォルトで有効になっています。 また、オプションが暗黙的または明示的に有効になっている場合、status (または\s) コマンドからの出力には次の行が含まれます:

    Binary data as: Hexadecimal

    16 進表記法を無効にするには、--skip-binary-as-hex を使用

  • --binary-mode

    このオプションは、BLOB 値を含む可能性のある mysqlbinlog の出力を処理する場合に便利です。 mysql は、デフォルトではステートメント文字列内の \r\n\n に変換し、\0 をステートメント終端記号と解釈します。--binary-mode ではこの両方の機能が無効になります。 また、charset および delimiter を除くすべての mysql コマンドを非対話モードで無効にします (mysql にパイプされた入力または source コマンドを使用してロードされた入力の場合)。

  • --bind-address=ip_address

    複数のネットワークインタフェースを持つコンピュータで、このオプションを使用して、MySQL サーバーへの接続に使用するインタフェースを選択します。

  • --character-sets-dir=dir_name

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

  • --column-names

    結果にカラム名を記述します。

  • --column-type-info

    結果セットのメタデータを表示します。 この情報は、C API MYSQL_FIELD データ構造体の内容に対応します。 C API Basic Data Structuresを参照してください。

  • --comments, -c

    サーバーに送信されるステートメント内のコメントを削除するか保持するか。 デフォルトは --skip-comments (コメントの削除)、--comments で有効化 (コメントを保持) です。

    注記

    このオプションが指定されているかどうかに関係なく、mysql クライアントは常にオプティマイザヒントをサーバーに渡します。

    コメントの削除は非推奨です。 この機能と、将来の MySQL リリースで削除されることを制御するオプションが必要です。

  • --compress, -C

    可能であれば、クライアントとサーバーの間で送信されるすべての情報を圧縮します。 セクション4.2.8「接続圧縮制御」を参照してください。

    MySQL 8.0.18 では、このオプションは非推奨です。 将来のバージョンの MySQL で削除される予定です。 レガシー接続圧縮の構成を参照してください。

  • --compression-algorithms=value

    サーバーへの接続に許可される圧縮アルゴリズム。 使用可能なアルゴリズムは、protocol_compression_algorithms システム変数の場合と同じです。 デフォルト値は uncompressed です。

    詳細は、セクション4.2.8「接続圧縮制御」を参照してください。

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

  • --connect-expired-password

    接続に使用されるアカウントに期限切れのパスワードがある場合、クライアントがサンドボックスモードを処理できることをサーバーに示します。 通常サーバーは、パスワードの期限の切れたアカウントを使用して接続を試みる非インタラクティブなクライアントを切断するため、これは非インタラクティブに mysql を起動する場合に便利です。 (セクション6.2.16「期限切れパスワードのサーバー処理」を参照してください。)

  • --connect-timeout=value

    接続タイムアウトまでの秒数。 (デフォルト値は 0 です。)

  • --database=db_name, -D db_name

    使用するデータベース。 これは主に、オプションファイルで便利です。

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

    デバッグのログを書き込みます。 一般的な debug_options 文字列は d:t:o,file_name です。 デフォルトは d:t:o,/tmp/mysql.trace です。

    このオプションは、MySQL が WITH_DEBUG を使用して構築された場合にのみ使用できます。 Oracle によって提供される MySQL リリースバイナリは、このオプションを使用して構築されません。

  • --debug-check

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

    このオプションは、MySQL が WITH_DEBUG を使用して構築された場合にのみ使用できます。 Oracle によって提供される MySQL リリースバイナリは、このオプションを使用して構築されません。

  • --debug-info, -T

    プログラムの終了時に、デバッグ情報とメモリーおよび CPU 使用率の統計を出力します。

    このオプションは、MySQL が WITH_DEBUG を使用して構築された場合にのみ使用できます。 Oracle によって提供される MySQL リリースバイナリは、このオプションを使用して構築されません。

  • --default-auth=plugin

    使用するクライアント側認証プラグインに関するヒント。 セクション6.2.17「プラガブル認証」を参照してください。

  • --default-character-set=charset_name

    クライアントおよび接続で、charset_name をデフォルト文字セットとして使用します。

    このオプションは、オペレーティングシステムがある文字セットを使用し、mysql クライアントがデフォルトで別の文字セットを使用する場合に便利です。 この場合、出力が正しくフォーマットされない可能性があります。 このような問題は通常、このオプションを使用して、クライアントが代わりにシステムの文字セットを使用するように強制することで解決できます。

    詳細は、セクション10.4「接続文字セットおよび照合順序」およびセクション10.15「文字セットの構成」を参照してください。

  • --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 のサフィクスが付いたグループも読み取ります。 たとえば、mysql は通常 [client] グループおよび [mysql] グループを読み取ります。 --defaults-group-suffix=_other オプションを指定した場合、mysql[client_other] グループおよび [mysql_other] グループも読み取ります。

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

  • --delimiter=str

    ステートメント区切り文字を設定します。 デフォルトはセミコロン (;) 文字です。

  • --disable-named-commands

    名前付きコマンドを無効化します。 \* 形式のみを使用します。または、セミコロン (;) で終わる行の先頭でのみ名前付きコマンドを使用します。mysql の起動時に、このオプションはデフォルトで有効になっています。 ただし、このオプションを使用しても、ロング形式コマンドは最初の行から効果を発揮します。 セクション4.5.1.2「mysql クライアントコマンド」を参照してください。

  • --dns-srv-name=name

    MySQL サーバーへの接続の確立に使用する候補ホストを決定する DNS SRV レコードの名前を指定します。 MySQL での DNS SRV サポートの詳細は、セクション4.2.6「DNS SRV レコードを使用したサーバーへの接続」 を参照してください。

    DNS が example.com ドメインの SRV 情報で構成されているとします:

    Name                     TTL   Class   Priority Weight Port Target
    _mysql._tcp.example.com. 86400 IN SRV  0        5      3306 host1.example.com
    _mysql._tcp.example.com. 86400 IN SRV  0        10     3306 host2.example.com
    _mysql._tcp.example.com. 86400 IN SRV  10       5      3306 host3.example.com
    _mysql._tcp.example.com. 86400 IN SRV  20       5      3306 host4.example.com

    その DNS SRV レコードを使用するには、次のように mysql を起動します:

    mysql --dns-srv-name=_mysql._tcp.example.com

    mysql は、接続が正常に確立されるまで、グループ内の各サーバーへの接続を試行します。 接続の失敗は、サーバーへの接続を確立できない場合にのみ発生します。 DNS SRV レコードの優先度と重みの値によって、サーバーの試行順序が決まります。

    --dns-srv-name を使用して起動された場合、mysql は TCP 接続の確立のみを試みます。

    --dns-srv-name オプションは、両方が指定されている場合、--host オプションよりも優先されます。--dns-srv-name では、接続確立で mysql_real_connect() ではなく mysql_real_connect_dns_srv() C API 関数が使用されます。 ただし、後で connect コマンドが実行時に使用され、ホスト名引数が指定された場合、そのホスト名は mysql の起動時に指定された --dns-srv-name オプションよりも優先され、DNS SRV レコードが指定されます。

    このオプションは MySQL 8.0.22 で追加されました。

  • --enable-cleartext-plugin

    mysql_clear_password 平文認証プラグインを有効にします。 (セクション6.4.1.4「クライアント側クリアテキストプラガブル認証」を参照してください。)

  • --execute=statement, -e statement

    ステートメントを実行して、終了します。 デフォルトの出力形式は、--batch で生成されるものと同様です。 例については、セクション4.2.2.1「コマンド行でのオプションの使用」を参照してください。 このオプションでは、mysql は履歴ファイルを使用しません。

  • --force, -f

    SQL エラーが発生しても続行します。

  • --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 プラガブル認証のキャッシュ」 を参照してください。

  • --histignore

    ロギングのために無視するステートメントを指定するコロンで区切られたパターンのリスト。 これらのパターンはデフォルトのパターンリスト ("*IDENTIFIED*:*PASSWORD*") に追加されます。 このオプションに指定した値は、履歴ファイルに書き込まれるステートメントのロギング、および --syslog オプションが指定されている場合は syslog に影響します。 詳細は、セクション4.5.1.3「mysql クライアントロギング」を参照してください。

  • --host=host_name, -h host_name

    指定されたホストの MySQL サーバーに接続します。

    --dns-srv-name オプションは、両方が指定されている場合、--host オプションよりも優先されます。--dns-srv-name では、接続確立で mysql_real_connect() ではなく mysql_real_connect_dns_srv() C API 関数が使用されます。 ただし、後で connect コマンドが実行時に使用され、ホスト名引数が指定された場合、そのホスト名は mysql の起動時に指定された --dns-srv-name オプションよりも優先され、DNS SRV レコードが指定されます。

  • --html, -H

    HTML 出力を生成します。

  • --ignore-spaces, -i

    関数名の後ろのスペースを無視します。 これの効果は、IGNORE_SPACE SQL モード (セクション5.1.11「サーバー SQL モード」を参照してください) に関する議論で説明されています。

  • --init-command=str

    サーバーへの接続後に実行する SQL ステートメント。 auto-reconnect が有効の場合、ステートメントは再接続が生じたあとに再度実行されます。

  • --line-numbers

    エラーの行番号を書き込みます。 --skip-line-numbers で無効にできます。

  • --load-data-local-dir=dir_name

    このオプションは、LOAD DATA 操作のクライアント側 LOCAL 機能に影響します。 LOAD DATA LOCAL ステートメントで指定されたファイルを配置する必要があるディレクトリを指定します。 --load-data-local-dir の効果は、LOCAL データロードが有効か無効かによって異なります:

    • LOCAL データロードが MySQL クライアントライブラリでデフォルトで有効になっている場合、または --local-infile[=1]を指定して有効になっている場合、--load-data-local-dir オプションは無視されます。

    • LOCAL のデータロードが無効になっている場合は、MySQL クライアントライブラリでデフォルトで無効になっているか、--local-infile=0 を指定すると、--load-data-local-dir オプションが適用されます。

    --load-data-local-dir が適用される場合、オプション値は、ローカルデータファイルを配置する必要があるディレクトリを指定します。 ディレクトリパス名とロードされるファイルのパス名の比較では、基礎となるファイルシステムの大/小文字の区別に関係なく、大/小文字が区別されます。 オプション値が空の文字列の場合、ディレクトリ名は指定されず、ローカルデータのロードにファイルは許可されません。

    たとえば、/my/local/data ディレクトリにあるファイル以外のローカルデータロードを明示的に無効にするには、次のように mysql を起動します:

    mysql --local-infile=0 --load-data-local-dir=/my/local/data

    --local-infile--load-data-local-dir の両方が指定されている場合、それらの指定順序は関係ありません。

    mysqlLOCAL ロード操作を正常に使用するには、サーバーでローカルロードが許可されている必要もあります。セクション6.1.6「LOAD DATA LOCAL のセキュリティー上の考慮事項」 を参照してください

    --load-data-local-dir オプションが MySQL 8.0.21 に追加されました。

  • --local-infile[={0|1}]

    デフォルトでは、LOAD DATALOCAL 機能は、MySQL クライアントライブラリにコンパイルされたデフォルトで決定されます。 LOCAL データロードを明示的に有効または無効にするには、--local-infile オプションを使用します。 値を指定しない場合、このオプションは LOCAL データロードを有効にします。 --local-infile=0 または --local-infile=1 として指定した場合、このオプションは LOCAL データロードを無効または有効にします。

    LOCAL 機能が無効になっている場合は、--load-data-local-dir オプションを使用して、指定されたディレクトリにあるファイルの制限付きローカルロードを許可できます。

    mysqlLOCAL ロード操作を正常に使用するには、サーバーでローカルロードが許可されている必要もあります。セクション6.1.6「LOAD DATA LOCAL のセキュリティー上の考慮事項」 を参照してください

  • --login-path=name

    .mylogin.cnf ログインパスファイルの指定されたログインパスからオプションを読み取ります。 「ログインパス」は、接続先の MySQL サーバーおよび認証に使用するアカウントを指定するオプションを含むオプショングループです。 ログインパスファイルを作成または変更するには、mysql_config_editor ユーティリティを使用します。 セクション4.6.7「mysql_config_editor — MySQL 構成ユーティリティー」を参照してください。

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

  • --max-allowed-packet=value

    クライアント/サーバー通信用のバッファーの最大サイズ。 デフォルトは 16M バイト、最大は 1G バイトです。

  • --max-join-size=value

    --safe-updates 使用時の、自動的に設定される結合内の行の制限。 (デフォルト値は 1,000,000 です。)

  • --named-commands, -G

    名前付き mysql コマンドを有効にします。 ショート形式のコマンドのみではなく、ロング形式のコマンドが許可されます。 たとえば、quit\q は両方認識されます。 名前付きコマンドを無効化するには、--skip-named-commands を使用します。 セクション4.5.1.2「mysql クライアントコマンド」を参照してください。

  • --net-buffer-length=value

    TCP/IP とソケット通信のバッファーサイズ。 (デフォルト値は 16K バイトです。)

  • --network-namespace=name

    TCP/IP 接続に使用するネットワークネームスペース。 省略すると、接続ではデフォルト (グローバル) のネームスペースが使用されます。 ネットワークネームスペースの詳細は、セクション5.1.14「ネットワークネームスペースのサポート」 を参照してください。

    このオプションは MySQL 8.0.22 で追加されました。 ネットワークネームスペースのサポートを実装するプラットフォームでのみ使用できます。

  • --no-auto-rehash, -A

    これは --skip-auto-rehash と同様の効果を持ちます。 --auto-rehash の説明を参照してください。

  • --no-beep, -b

    エラー時に音を発生させません。

  • --no-defaults

    オプションファイルを読み取りません。 オプションファイルから不明のオプションを読み取ることが原因でプログラムの起動に失敗する場合、--no-defaults を使用して、オプションを読み取らないようにできます。

    例外として、.mylogin.cnf ファイルは、存在する場合はすべての場合に読み取られます。 これにより、--no-defaults が使用されたとしても、コマンド行よりも安全な方法でパスワードを指定できます。(.mylogin.cnfmysql_config_editor ユーティリティーによって作成されます。 セクション4.6.7「mysql_config_editor — MySQL 構成ユーティリティー」を参照してください)。

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

  • --one-database, -o

    デフォルトデータベースがコマンド行で指定されたものである間に生じるステートメント以外を無視します。 このオプションは初歩的なものであり、注意して使用してください。 ステートメントのフィルタリングは USE ステートメントのみに基づいています。

    最初、mysql は入力内のステートメントを実行します。これは、データベース db_name をコマンド行で指定することは USE db_name を入力の最初に挿入することと同等であるためです。 次に、USE ステートメントを検出するたびに、mysql は、指名されたデータベースがコマンド行のものであるかによって、後続のステートメントを受け入れまたは拒否します。 ステートメントの内容は重要ではありません。

    mysql が次の一連のステートメントを処理するために起動されたとします。

    DELETE FROM db2.t2;
    USE db2;
    DROP TABLE db1.t1;
    CREATE TABLE db1.t1 (i INT);
    USE db1;
    INSERT INTO t1 (i) VALUES(1);
    CREATE TABLE db2.t1 (j INT);

    コマンド行が mysql --force --one-database db1 の場合、mysql は入力を次のように処理します。

    • DELETE ステートメントでは別のデータベースのテーブルが指名されていますが、デフォルトデータベースは db1 であるため、このステートメントは実行されます。

    • DROP TABLE ステートメントおよび CREATE TABLE ステートメントでは db1 のテーブルを指名していますが、デフォルトデータベースが db1 ではないため、これらのステートメントは実行されません。

    • CREATE TABLE ステートメントでは別のデータベースのテーブルが指名されていますが、デフォルトデータベースは db1 であるため、INSERT ステートメントおよび CREATE TABLE ステートメントは実行されます。

  • --pager[=command]

    クエリー出力のページングに、指定されたコマンドを使用します。 このコマンドが省略された場合、デフォルトのページャーは PAGER 環境変数の値となります。 有効なページャーは、lessmorecat [> filename]、などです。 このオプションは Unix でインタラクティブモードの場合のみ機能します。 ページングを無効化するには、--skip-pager を使用してください。セクション4.5.1.2「mysql クライアントコマンド」には出力のページングの詳細説明があります。

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

    サーバーへの接続に使用される MySQL アカウントのパスワード。 パスワード値はオプションです。 指定しない場合、mysql によってプロンプトが表示されます。 指定する場合は、--password= または -p とそれに続くパスワードの間にスペースなしが存在する必要があります。 パスワードオプションを指定しない場合、デフォルトではパスワードは送信されません。

    コマンド行でのパスワード指定は、セキュアでないと考えるべきです。 コマンド行でパスワードを指定しないようにするには、オプションファイルを使用します。 セクション6.1.2.1「パスワードセキュリティーのためのエンドユーザーガイドライン」を参照してください。

    パスワードがなく、mysql でパスワードの入力を求められないように明示的に指定するには、--skip-password オプションを使用します。

  • --pipe, -W

    Windows で、名前付きパイプを使用してサーバーに接続します。 このオプションは、ネームパイプ接続をサポートするために named_pipe システム変数を有効にしてサーバーを起動した場合にのみ適用されます。 また、接続を行うユーザーは、named_pipe_full_access_group システム変数で指定された Windows グループのメンバーである必要があります。

  • --plugin-dir=dir_name

    プラグインを検索するディレクトリ。 このオプションは、--default-auth オプションを使用して認証プラグインを指定しても、mysql がそれを検出しない場合に指定します。 セクション6.2.17「プラガブル認証」を参照してください。

  • --port=port_num, -P port_num

    TCP/IP 接続の場合、使用するポート番号。

  • --print-defaults

    プログラム名と、オプションファイルから受け取るすべてのオプションを出力します。

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

  • --prompt=format_str

    プロンプトを指定された形式に設定します。 デフォルトは mysql> です。 プロンプト内に含めることができる特別なシーケンスは、セクション4.5.1.2「mysql クライアントコマンド」で説明されています。

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

    サーバーへの接続に使用するトランスポートプロトコル。 これは、他の接続パラメータが通常、必要なプロトコル以外のプロトコルを使用する場合に便利です。 許可される値の詳細は、セクション4.2.7「接続トランスポートプロトコル」を参照してください。

  • --quick, -q

    各クエリー結果をキャッシュせず、各行を受信ししだい出力します。 出力が遅延された場合、サーバーの速度が低下することがあります。 このオプションでは、mysql は履歴ファイルを使用しません。

  • --raw, -r

    表形式の出力では、カラムを枠で囲むことにより、1 つのカラム値を別のカラム値と区別できます。 表形式でない出力 (バッチモードで生成される場合や --batch または --silent オプションを指定した場合など) では、簡単に識別できるように特殊文字が出力時にエスケープされます。 改行、タブ、NUL、およびバックスラッシュはそれぞれ、\n\t\0、および \\ と記述されます。 --raw オプションを指定すると、この文字のエスケープ処理は無効になります。

    次の例は、表形式と表形式でない出力の違い、および raw モードを使用してエスケープ処理を無効にした場合を示しています。

    % mysql
    mysql> SELECT CHAR(92);
    +----------+
    | CHAR(92) |
    +----------+
    | \        |
    +----------+
    
    % mysql -s
    mysql> SELECT CHAR(92);
    CHAR(92)
    \\
    
    % mysql -s -r
    mysql> SELECT CHAR(92);
    CHAR(92)
    \
  • --reconnect

    サーバーとの接続が失われたとき、再接続を自動的に試行します。 接続が失われるたびに一度再接続が試みられます。 再接続動作を抑制するには、--skip-reconnect を使用します。

  • --safe-updates, --i-am-a-dummy, -U

    このオプションを有効にすると、WHERE 句または LIMIT 句でキーを使用しない UPDATE および DELETE ステートメントでエラーが発生します。 また、大規模な結果セットを生成する (または生成すると見積もられる) SELECT ステートメントには制限があります。 オプションファイルでこのオプションを設定した場合は、コマンドラインで --skip-safe-updates を使用してオーバーライドできます。 このオプションについての詳細は、セーフ更新モードの使用 (--safe-updates)を参照してください。

  • --select-limit=value

    --safe-updates 使用時の、自動的に設定される SELECT ステートメントの制限。 (デフォルト値は 1,000 です。)

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

    RSA キーペアベースのパスワード交換のためにサーバーが必要とする公開キーのクライアント側コピーを含む、PEM 形式のファイルへのパス名。 このオプションは、sha256_password または caching_sha2_password 認証プラグインで認証されるクライアントに適用されます。 これらのプラグインのいずれかで認証されないアカウントでは、このオプションは無視されます。 クライアントがセキュアな接続を使用してサーバーに接続する場合と同様に、RSA ベースのパスワード交換を使用しない場合も無視されます。

    --server-public-key-path=file_name が指定され、有効な公開キーファイルが指定されている場合は、--get-server-public-key よりも優先されます。

    このオプションは、MySQL が OpenSSL を使用してビルドされている場合のみ利用できます。

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

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

    Windows の場合、共有メモリを使用してローカルサーバに接続するために使用する共有メモリ名。 デフォルト値は MYSQL です。 共有メモリー名では大文字と小文字が区別されます。

    このオプションは、共有メモリー接続をサポートするために shared_memory システム変数を有効にしてサーバーを起動した場合にのみ適用されます。

  • --show-warnings

    警告が存在する場合、各ステートメント後に表示させます。 このオプションはインタラクティブとバッチモードにのみ対応しています。

  • --sigint-ignore

    SIGINT 信号を無視します (通常、Control+C を入力した結果)。

    このオプションを指定せずに Control+C を入力すると、現在のステートメントがある場合は中断され、それ以外の場合は一部の入力行が取り消されます。

  • --silent, -s

    サイレントモード。 出力の生成を少なくします。 このオプションを複数回指定して、出力の生成をさらに少なくできます。

    このオプションでは、表形式でない出力が生成され、特殊文字のエスケープ処理が行われます。 raw モードを使用すれば、エスケープ処理を無効にできます。--raw オプションの説明を参照してください。

  • --skip-column-names, -N

    結果にカラム名を記述しません。

  • --skip-line-numbers, -L

    エラーの行番号を書き込みません。 エラーメッセージを含む結果ファイルを比較する場合に便利です。

  • --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-modeON または STRICT に設定すると、クライアントは起動時に警告を生成し、FIPS 以外のモードで動作します。

  • --syslog, -j

    このオプションにより、mysql は対話型のステートメントをシステムロギング機能に送信します。 Unix の場合は syslog で、Windows の場合は Windows イベントログです。 ログに記録されたメッセージが表示される宛先は、システムによって異なります。 Linux では、多くの場合、宛先は/var/log/messages ファイルです。

    次に、--syslog を使用して Linux で生成される出力のサンプルを示します。 この出力は読みやすくするためにフォーマットされており、ログに記録される各メッセージは実際には単一行を取ります。

    Mar  7 12:39:25 myhost MysqlClient[20824]:
      SYSTEM_USER:'oscar', MYSQL_USER:'my_oscar', CONNECTION_ID:23,
      DB_SERVER:'127.0.0.1', DB:'--', QUERY:'USE test;'
    Mar  7 12:39:28 myhost MysqlClient[20824]:
      SYSTEM_USER:'oscar', MYSQL_USER:'my_oscar', CONNECTION_ID:23,
      DB_SERVER:'127.0.0.1', DB:'test', QUERY:'SHOW TABLES;'

    詳細は、セクション4.5.1.3「mysql クライアントロギング」を参照してください。

  • --table, -t

    出力を表形式で表示します。 インタラクティブに使用する場合はこれがデフォルトですが、バッチモードで表形式の出力を生成するのにも使用できます。

  • --tee=file_name

    出力のコピーを指定されたファイルに追加します。 このオプションはインタラクティブモードの場合のみ機能します。セクション4.5.1.2「mysql クライアントコマンド」で、tee ファイルについて詳細に説明しています。

  • --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 プロトコルおよび暗号」を参照してください。

  • --unbuffered, -n

    各クエリー後にバッファーをフラッシュします。

  • --user=user_name, -u user_name

    サーバーへの接続に使用する MySQL アカウントのユーザー名。

  • --verbose, -v

    冗長モード。 プログラムの動作についてより多くの出力を生成します。 このオプションを複数回指定して、さらに多くの出力を生成できます。 (たとえば、-v -v -v ではバッチモードでも表形式の出力を生成します。)

  • --version, -V

    バージョン情報を表示して終了します。

  • --vertical, -E

    クエリー出力行を縦に出力します (カラム値ごとに一行)。 このオプションを使用しない場合、個々のステートメントを \G で終了させることにより、縦の出力を指定できます。

  • --wait, -w

    接続が確立できない場合、中止せずに待機してからリトライします。

  • --xml, -X

    XML 出力を生成

    <field name="column_name">NULL</field>

    --xmlmysql とともに使用した場合の出力は、mysqldump --xml の出力と一致します。 詳細は、セクション4.5.4「mysqldump — データベースバックアッププログラム」,を参照してください。

    次に示すように、XML 出力は XML 名前空間も使用します。

    shell> mysql --xml -uroot -e "SHOW VARIABLES LIKE 'version%'"
    <?xml version="1.0"?>
    
    <resultset statement="SHOW VARIABLES LIKE 'version%'" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <row>
    <field name="Variable_name">version</field>
    <field name="Value">5.0.40-debug</field>
    </row>
    
    <row>
    <field name="Variable_name">version_comment</field>
    <field name="Value">Source distribution</field>
    </row>
    
    <row>
    <field name="Variable_name">version_compile_machine</field>
    <field name="Value">i686</field>
    </row>
    
    <row>
    <field name="Variable_name">version_compile_os</field>
    <field name="Value">suse-linux-gnu</field>
    </row>
    </resultset>
  • --zstd-compression-level=level

    zstd 圧縮アルゴリズムを使用するサーバーへの接続に使用する圧縮レベル。 許可されるレベルは 1 から 22 で、大きい値は圧縮レベルの増加を示します。 デフォルトの zstd 圧縮レベルは 3 です。 圧縮レベルの設定は、zstd 圧縮を使用しない接続には影響しません。

    詳細は、セクション4.2.8「接続圧縮制御」を参照してください。

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


関連キーワード:  接続, サーバー, ステートメント, 出力, コマンド, 参照, セクション, 表示, モード, プログラム