MySQL Shell 8.0  /  MySQL Shell のカスタマイズ  /  MySQL Shell オプションの構成

このページは機械翻訳したものです。

10.4 MySQL Shell オプションの構成

特定のプログラミング言語まで起動したり、特定の形式で出力を提供したりするなど、プリファレンスに一致するように MySQL Shell を構成できます。 構成オプションは、現在のセッションに対してのみ設定することも、MySQL Shell 構成ファイルへの変更を永続化することで永続的に設定することもできます。 すべてのオプションのオンラインヘルプが提供されています。 MySQL Shell \option コマンドを使用してオプションを構成できます。このコマンドは、すべての MySQL Shell モードで構成オプションのクエリーおよび変更に使用できます。 または、JavaScript および Python モードでは、shell.options オブジェクトを使用します。

有効な構成オプション

次の構成オプションは、\option コマンドまたは shell.options スクリプトインタフェースのいずれかを使用して設定できます:

optionName DefaultValue 影響
autocomplete.nameCache true ブール 自動補完のためにデータベース名キャッシュを有効にします。
batchContinueOnError false boolean (READ ONLY) SQL バッチモードでは、エラーが見つかった場合に処理を強制的に続行します。
credentialStore.excludeFilters empty array 自動パスワード記憶域が無効になっている URL の配列で、* および ? の glob 文字がサポートされています。
credentialStore.helper プラットフォームに依存 文字列 パスワードのフェッチまたは格納に使用される資格証明ヘルパーの名前。 プラットフォームのデフォルトヘルパーを使用するために、特別な値 default がサポートされています。 特殊な値 disabled は、資格証明ストアを無効にします。
credentialStore.savePasswords false 文字列 自動パスワード記憶域、サポートされている値を制御: alwaysprompt または never
dba.gtidWaitTimeout 60 0 より大きい整数 GTID トランザクションが適用されるのを待機する時間 (秒)。AdminAPI 操作で必要な場合 (セクション6.2.5「InnoDB クラスタの操作」 を参照)。
dba.logSql 0 0 から 2 の範囲の整数 AdminAPI 操作によって実行される SQL ステートメントをログに記録します (第9章「MySQL Shell のロギングおよびデバッグ を参照)。
dba.restartWaitTimeout 60 0 より大きい整数 リカバリ操作中にトランザクションが適用されるのを待機する時間 (秒)。 結合インスタンスが大量のデータをリカバリする必要がある場合に、より長いタイムアウトを構成するために使用します。 セクション6.2.2.2「InnoDB クラスタ での MySQL クローンの使用」 を参照してください。
defaultCompress false ブール すべてのグローバルセッションでクライアントとサーバーの間で送信される情報の圧縮をリクエストします。 クラシック MySQL プロトコル 接続にのみ影響します (セクション4.3.4「圧縮接続の使用」 を参照)。
defaultMode なし string (sql、js または py) MySQL Shell の起動時に使用するモード (SQL、JavaScript または Python)。
devapi.dbObjectHandles true ブール X DevAPI db オブジェクトのテーブルおよびコレクション名ハンドルを有効にします。
history.autoSave false ブール アプリケーションの終了時に、MySQL Shell コード履歴のエントリを保存 (true) またはクリア (false) します (セクション5.5「コード履歴」 を参照)。
history.maxSize 1000 整数 MySQL Shell コード履歴に格納するエントリの最大数。
history.sql.ignorePattern *IDENTIFIED* : *PASSWORD* 文字列 これらのパターンに一致する文字列は、MySQL Shell コード履歴に追加されません。
interactive true boolean (READ ONLY) 対話型モードを有効にします。
logLevel 値が必要です 1 から 8 の範囲の整数 アプリケーションログのロギングレベルを設定します (第9章「MySQL Shell のロギングおよびデバッグ を参照)。
pager なし 文字列 指定した外部ページャツールを使用して、テキストおよび結果を表示します。 ツールのコマンドライン引数を追加できます (セクション4.6「ページャの使用」 を参照)。
passwordsFromStdin false ブール 端末ではなく stdin からパスワードを読み取ります。
resultFormat テーブル string (table, tabbed, vertical, json | json/pretty, ndjson | json/raw, json/array) 結果セットを出力するためのデフォルトの出力形式 (セクション5.7「出力形式」 を参照)。
sandboxDir プラットフォームに依存 文字列 サンドボックスディレクトリ。 Windows ではデフォルトは C:\Users\MyUser\MySQL\mysql-sandboxes で、Unix システムではデフォルトは $HOME/mysql-sandboxes です。
showColumnTypeInfo false ブール SQL モードでは、結果セットのカラムメタデータを表示します。
showWarnings true ブール SQL モードでは、SQL 警告があれば自動的に表示されます。
useWizards true ブール ウィザードモードを有効にします。
verbose 1 0 から 4 までの整数 コンソールへの詳細出力を有効にし、詳細レベルを設定します (第9章「MySQL Shell のロギングおよびデバッグ を参照)。
注記

文字列値では大文字と小文字が区別されます。

READ ONLY としてリストされたオプションは変更できません。

outputFormat オプションは非推奨になりました。 かわりに resultFormat を使用してください。

\option コマンドの使用

MySQL Shell \option コマンドを使用すると、すべてのモードで構成オプションのクエリーおよび変更が可能になり、JavaScript および Python モードに加えて SQL モードからの構成が可能になります。

このコマンドは次のように使用します:

  • \option -h, --help [filter] - filter に一致するオプションのヘルプを出力します。

  • \option -l, --list [--show-origin] - すべてのオプションをリストします。--show-origin は、値が最後にどのように変更されたかに関する情報でリストを拡張します。可能な値は次のとおりです:

    • Command line

    • Compiled default

    • Configuration file

    • Environment variable

    • User defined

  • \option option_name - オプションの現在の値を出力します。

  • \option [--persist] option_name value or name=value - オプションの値を設定し、--persist が指定されている場合は構成ファイルに保存します。

  • \option --unset [--persist] <option_name> - オプション値をデフォルトにリセットし、--persist が指定されている場合は、MySQL Shell 構成ファイルからオプションを削除します。

注記

option_name および filter の値では、大/小文字が区別されます。

option_name で使用可能な値のリストは、有効な構成オプション を参照してください。

shell.options 構成インタフェースの使用

shell.options オブジェクトは、MySQL Shell オプション値を変更するために JavaScript および Python モードで使用できます。 特定の方法を使用して、次のようにオプションまたはキーと値のペアを構成できます:

MySQL JS > shell.options['history.autoSave']=1

キーと値のペアのインタフェースに加えて、次のメソッドを使用できます:

  • shell.options.set(optionName, value) - このセッションの optionNamevalue に設定します。変更は構成ファイルに保存されません。

  • shell.options.setPersist(optionName, value) - このセッションの optionNamevalue に設定し、変更を構成ファイルに保存します。 Python モードでは、メソッドは shell.options.set_persist です。

  • shell.options.unset(optionName) - optionName をこのセッションのデフォルト値にリセットします。変更は構成ファイルに保存されません。

  • shell.options.unsetPersist(optionName) - optionName をこのセッションのデフォルト値にリセットし、変更を構成ファイルに保存します。 Python モードでは、メソッドは shell.options.unset_persist です。

オプション名は文字列として扱われるため、'文字で囲む必要があります。 optionName で使用可能な値のリストは、有効な構成オプション を参照してください。

コマンドを使用して、次のように MySQL Shell オプションを構成します:

MySQL JS > shell.options.set('history.maxSize', 5000)
MySQL JS > shell.options.setPersist('useWizards', 'true')
MySQL JS > shell.options.setPersist('history.autoSave', 1)

次のように、オプションをデフォルト値に戻します:

MySQL JS > shell.options.unset('history.maxSize')
MySQL JS > shell.options.unsetPersist('useWizards')

構成ファイル

MySQL Shell 構成ファイルには、セッション間で永続化されるようにするためのオプションの値が格納されます。 値は起動時に読み取られ、永続化機能を使用すると、設定は構成ファイルに保存されます。

構成ファイルの場所はユーザー構成パスで、ファイルの名前は options.json です。 環境変数 MYSQLSH_USER_CONFIG_HOME を定義してデフォルトのユーザー構成パスがオーバーライドされていない場合、構成ファイルへのパスは次のようになります:

  • Windows の場合 %APPDATA%\MySQL\mysqlsh

  • Unix の場合 ~/.mysqlsh ここで、~ はユーザーのホームディレクトリを表します。

構成ファイルは、構成オプションを初めてカスタマイズするときに作成されます。 このファイルは MySQL Shell によって内部的に保持されるため、手動で編集しないでください。 起動時に認識されないオプションまたは誤った値のオプションが構成ファイルに見つかった場合、MySQL Shell はエラーで終了します。