この付録では、mysqlsh コマンドについて説明します。
A.1 mysqlsh — MySQL Shell
MySQL Shell は、MySQL 用の高度なコマンドラインクライアントおよびコードエディタです。 SQL に加え
て、MySQL Shell には JavaScript および Python のスクリプト機能も用意されています。 MySQL Shell の使用の詳細 は、MySQL Shell 8.0 を参照してください。 MySQL Shell が X プロトコル を介して MySQL Server に接続されてい る場合、X DevAPI を使用してリレーショナルデータとドキュメントデータの両方を操作できます。ドキュメントスト アとしての MySQL の使用 を参照してください。MySQL Shell は AdminAPI が含まれていて InnoDB クラスタ が作業 できます。第6章「MySQL AdminAPI の使用」 を参照してください。
ここで説明するオプションの多くは、MySQL Shell と MySQL Server インスタンス間の接続に関連しています。 詳し くはセクション4.3「MySQL Shell 接続」をご覧ください。
mysqlsh では、次のコマンドラインオプションがサポートされます。
表 A.1 「mysqlsh のオプション」
オプション名 説明 導入
-- API コマンドライン統合の開始
--auth-method 使用する認証方式
--cluster InnoDB クラスタへの接続 8.0.4 --column-type-info 結果セットのカラムのメタデータの印
刷 8.0.14
--compress クライアントとサーバー間で送信され る情報をすべて圧縮 8.0.14 --connect-timeout グローバルセッションの接続タイムア
ウト 8.0.13
--credential-store-helper パスワード用のシークレットストアヘ
ルパー 8.0.12
--database 使用するスキーマ (--schema のエイリ アス)
--dba MySQL 5.7 サーバーとの接続時に X プロトコルを有効にします
--dba-log-sql AdminAPI 操作によって実行される
SQL ステートメントを記録 8.0.18 --dbpassword サーバーに接続する際に使用するパス
ワード
--dbuser サーバーへの接続時に使用する
MySQL ユーザー名
--execute コマンドを実行して終了
--file バッチモードで処理するファイル
--force エラーが発生した場合でも SQL およ
びバッチモードで続行
--get-server-public-key サーバーから RSA 公開キーをリクエ スト
このページは機械翻訳したものです。
mysqlsh — MySQL Shell
オプション名 説明 導入
--help ヘルプメッセージを表示して終了
--histignore 履歴に追加されない文字列 8.0.3
--host MySQL サーバーインスタンスが存在
するホスト
--import ファイルまたは標準入力からの JSON ドキュメントのインポート 8.0.13 --interactive バッチモードでのインタラクティブ
モードのエミュレート --js, --javascript JavaScript モードで起動
--json JSON 形式での出力の出力
--log-level ロギングレベルの指定
-ma セッションのトランスポートプロトコ
ルの自動検出 8.0.3
--mysql, -mc クラシック MySQL プロトコル を使 用したセッションの作成 8.0.3 --mysqlx, -mx X プロトコルを使用したセッションの
作成 8.0.3
--name-cache アクティブなデフォルトスキーマに基 づいたテーブル名の自動ロードの有効 化
8.0.4
--no-name-cache オートコンプリートの無効化 8.0.4 --no-password この接続のパスワードが指定されてい
ません
--no-wizard, --nw 対話型ウィザードの無効化
--pager 出力の表示に使用される外部ページャ
ツール 8.0.13
--password サーバーへの接続時に使用するパス
ワード (--dbpassword のエイリアス) --passwords-from-stdin stdin からパスワードを読み取ります
--port 接続用の TCP/IP ポート番号
--py, --python Python モードで起動 --quiet-start 紹介情報を印刷せずに開始 --recreate-schema スキーマの削除および再作成 --redirect-primary InnoDB クラスタプライマリへの接続
の確認 8.0.4
--redirect-secondary InnoDB クラスタセカンダリへの接続 の確認
--result-format このセッションの出力形式を設定 8.0.14 --save-passwords パスワードをシークレットストアに格
納する方法 8.0.12
--schema 使用するスキーマ
--server-public-key-path RSA 公開鍵を含むファイルへのパス 名
--show-warnings 存在する場合、各ステートメントの後 に警告を表示 (SQL モード)
mysqlsh — MySQL Shell
オプション名 説明 導入
--socket 使用する Unix ソケットファイルま たは Windows 名前付きパイプ (クラ シック MySQL プロトコルのみ)
--sql SQL モードで開始し、接続に使用す
るプロトコルを自動検出
--sqlc クラシック MySQL プロトコル 接続
を使用した SQL モードでの起動
--sqlx X プロトコル接続を使用した SQL
モードでの起動 8.0.3
--ssl-ca 信頼できる SSL 認証局のリストを含 むファイル
--ssl-capath 信頼できる SSL 認証局の証明書ファ イルを含むディレクトリ
--ssl-cert X.509 証明書を含むファイル --ssl-cipher 使用する SSL 暗号の名前
--ssl-crl 証明書失効リストを含むファイル
--ssl-crlpath 証明書失効リストファイルを含むディ レクトリ
--ssl-key X.509 キーを含むファイル
--ssl-mode サーバーへの接続に必要なセキュリ
ティ状態
--tabbed タブ区切り形式で出力を表示
--table 出力を表形式で表示します
--tls-version 暗号化された接続に許可される TLS プロトコル
--uri URI 形式のセッション情報
--user サーバーへの接続時に使用する
MySQL ユーザー名 (--dbuser のエイ リアス)
--verbose コンソールへの詳細出力をアクティブ
化します 8.0.17
--version バージョン情報を表示して終了
--vertical すべての SQL 結果を縦に表示
• --help, -?
ヘルプメッセージを表示して終了します。
•
--mysqlsh オプションのリストの最後と、MySQL ShellAPI コマンド行統合のためのコマンドとその引数の開始をマー クします。 次の構文を使用して、コマンドラインから MySQL Shell グローバルオブジェクトのメソッドを実行でき ます:
mysqlsh [options] -- object method [arguments]
詳しくはセクション5.8「API コマンドラインインタフェース」をご覧ください。
• --auth-method=method
アカウントに使用する認証方式。 アカウントパスワードに使用される認証プラグインによって異なります。 クラ シック MySQL プロトコル を使用した MySQL Shell 接続の場合は、caching_sha2_password などの認証プラグイ
このページは機械翻訳したものです。
mysqlsh — MySQL Shell
ンの名前を指定します。 X プロトコル を使用する MySQL Shell 接続の場合は、次のいずれかのオプションを指定 します:
AUTO ライブラリで認証方式を選択します。
FALLBACK ライブラリで認証方式を選択しますが、MySQL 5.7 と互換性のない認証方式は使用し ません。
FROM_CAPABILITIES サーバーインスタンスによって通知される機能を使用して、ライブラリで認証方法を選 択できるようにします。
MYSQL41 プレーンテキストパスワードを送信しない、MySQL 4.1 以降でサポートされ ているチャレンジレスポンス認証プロトコルを使用します。 このオプション は、mysql_native_password 認証プラグインを使用するアカウントと互換性がありま す。
PLAIN 認証用のプレーンテキストパスワードを送信します。 このオプションは、暗号化 された接続でのみ使用します。 SSL 接続がある場合、このオプションを使用し
て、caching_sha2_password 認証プラグインを使用するアカウントのキャッシュされた 資格証明で認証できます。 Caching SHA-2 認証プラグインでの X プラグイン の使用を 参照してください。
SHA256_MEMORY メモリーに格納されているハッシュパスワードを使用して認証します。 このオプショ ンは、非 SSL 接続がある caching_sha2_password 認証プラグインを使用するアカウ ントに対して、キャッシュされた資格証明で認証するために使用できます。 Caching SHA-2 認証プラグインでの X プラグイン の使用を参照してください。
• --cluster
ターゲットサーバーが InnoDB クラスタの一部であることを確認し、その場合は cluster グローバル変数をクラスタ オブジェクトに設定します。
• --column-type-info
SQL モードでは、クエリーに対して返された結果セットを出力する前に、結果セット内の各カラムのメタデータ (カラムタイプや照合順序など) を出力します。
カラムタイプは、MySQL Shell (Type) で使用されるタイプと元のデータベース (DBType) で使用されるタイプの 両方として返されます。 クラシック MySQL プロトコル を使用する MySQL Shell 接続の場合、DBType はプロ トコルによって返され、X プロトコル 接続の場合、DBType は使用可能な情報から推測されます。 カラムの長さ (Length) はバイト単位で返されます。
• --compress[={required|preferred|disabled}], -C [{required|preferred|disabled}]
この接続を使用してクライアントとサーバー間で送信される情報の圧縮を制御します。 8.0.19 を介した MySQL Shell 8.0.14 では、このオプションは クラシック MySQL プロトコル 接続にのみ使用でき、required、preferred および disabled オプションは使用しません。 これらのリリースでは、--compress を指定すると、可能であれ ば圧縮がアクティブ化されます。 MySQL Shell 8.0.20 からは、X プロトコル 接続にも使用でき、オプションで
required、preferred または disabled を指定できます。 --compress のみが MySQL Shell 8.0.20 から指定されている
場合、その意味は --compress=required です。 すべてのリリースでの MySQL Shell 圧縮制御の使用の詳細は、セク ション4.3.4「圧縮接続の使用」 を参照してください。• --connect-timeout=ms
コマンドライン引数で指定されたグローバルセッションの確立を MySQL Shell が待機する時間 (ミリ秒) を構成しま す。
• --credential-store-helper=helper
パスワードの格納および取得に使用されるシークレットストアヘルパー。 セクション4.4「プラガブルパスワードス トア」を参照してください。
• --database=name, -D name
mysqlsh — MySQL Shell
使用するデフォルトスキーマ。 これは --schema のエイリアスです。
• --dba=enableXProtocol
MySQL 5.7 サーバーとの接続で X プラグイン を有効にして、後続の接続に X プロトコル 接続を使用できるように します。 クラシック MySQL プロトコル を使用した接続が必要です。 X プラグイン がデフォルトで有効になって いる MySQL 8.0 サーバーには関係ありません。
• --dba-log-sql[=0|1|2]
AdminAPI 操作によって実行される SQL ステートメントをログに記録します (サンドボックス操作を除く)。 デフォ ルトでは、--log-level および --verbose オプションが設定されている場合でも、このカテゴリのステートメントは MySQL Shell アプリケーションログファイルに書き込まれず、コンソールに冗長出力として送信されません。 オ プションの値は 0 から 2 の範囲の整数です。0 はこのカテゴリのステートメントを記録または表示しません。これ は、オプションを指定しない場合のデフォルトの動作です。1 は、SELECT ステートメントおよび SHOW ステート メントを除き、AdminAPI 操作によって実行される SQL ステートメントをログに記録します (これは、コマンドラ インで値なしでオプションを指定した場合のデフォルト設定です)。2 は、通常の AdminAPI 操作によって実行され る SQL ステートメントをすべてログに記録します。 詳しくは第9章「MySQL Shell のロギングおよびデバッグ」を ご覧ください。
• --dbpassword[=password]
MySQL Shell のバージョン 8.0.13 では非推奨です。 かわりに --password[=password]を使用してください。
• --dbuser=user_name
MySQL Shell のバージョン 8.0.13 では非推奨です。 かわりに --user=user_name を使用してください。
• --execute=command, -e command
現在アクティブな言語を使用してコマンドを実行し、終了します。 このオプションは、--file=file_name オプション と相互に排他的です。
• --file=file_name, -f file_name
バッチモードで処理するファイルを指定します。 この後に指定したオプションは、処理済ファイルの引数として使 用されます。
• --force
エラーが発生した場合でも、SQL およびバッチモードで処理を続行します。
• --histignore=strings
MySQL Shell 履歴に追加されない文字列を指定します。 文字列はコロンで区切られます。 照合では大文 字と小文字は区別されず、ワイルドカード * および ? を使用できます。 無視されるデフォルトの文字列
は、「*IDENTIFIED*:*PASSWORD*」 として指定されます。 セクション5.5「コード履歴」を参照してください。
• --host=host_name, -h host_name
指定されたホストの MySQL サーバーに接続します。 Windows では、--host=. または -h . (ピリオドとしてホスト名 を指定) を指定すると、MySQL Shell はデフォルトの名前付きパイプ (MySQL という名前) または --socket オプショ ンを使用して指定した代替の名前付きパイプを使用して接続します。
• --get-server-public-key
MySQL Shell は --get-server-public-key と同等です。
--server-public-key-path=file_name が指定され、有効な公開キーファイルが指定されている場合は、--get-server-public-key よりも優先されます。
重要
クラシック MySQL プロトコル 接続でのみサポートされます。