このページは機械翻訳したものです。
Unix では、次の条件が満たされた場合、MySQL Shell 接続はデフォルトで Unix ソケットを使用します:
TCP ポートが指定されていません。
ホスト名が指定されていないか、
localhost
と同じです。ソケットファイルへのパスの有無にかかわらず、
--socket
または-S
オプションが指定されています。
値なしで等号なしで --socket
を指定した場合、または値なしで -S
を指定した場合、プロトコルのデフォルトの Unix ソケットファイルが使用されます。 代替 Unix ソケットファイルへのパスを指定すると、そのソケットファイルが使用されます。
ホスト名が指定されているが、localhost
ではない場合は、かわりに TCP 接続が確立されます。 この場合、TCP ポートが指定されていないと、デフォルト値 3306 が使用されます。
Windows では、クラシック MySQL プロトコル を使用する MySQL Shell 接続の場合、ホスト名をピリオド () として指定した場合。)、MySQL Shell は名前付きパイプを使用して接続します。
URI のような接続文字列を使用して接続する場合は、
user@.
を指定キーと値のペアを使用して接続する場合は、
{"host": "."}
を指定個々のパラメータを使用して接続する場合は、
--host=.
または-h .
を指定
デフォルトでは、パイプ名 MySQL
が使用されます。 代替の名前付きパイプは、--socket
オプションを使用するか、URI のような接続文字列の一部として指定できます。
URI のような文字列では、パーセントエンコーディングを使用するか、パスをカッコで囲んで、Unix ソケットファイルまたは Windows 名前付きパイプへのパスをエンコードする必要があります。 カッコを使用すると、/
ディレクトリセパレータ文字などの文字をパーセントエンコードする必要がなくなります。 Unix ソケットファイルへのパスがクエリー文字列の一部として URI のような文字列に含まれている場合、先頭のスラッシュはパーセントエンコードする必要がありますが、ホスト名を置き換える場合、次の例に示すように先頭のスラッシュはパーセントエンコードしないでください:
mysql-js> \connect user@localhost?socket=%2Ftmp%2Fmysql.sock
mysql-js> \connect user@localhost?socket=(/tmp/mysql.sock)
mysql-js> \connect user@/tmp%2Fmysql.sock
mysql-js> \connect user@(/tmp/mysql.sock)
Windows の場合のみ、次の例に示すように、名前付きパイプの先頭に文字\\.\
を付加し、パーセントエンコーディングを使用してエンコードするか、カッコで囲む必要があります:
(\\.\named:pipe)
\\.\named%3Apipe
Windows では、名前付きパイプを使用して 1 つ以上の MySQL Shell セッションが MySQL Server インスタンスに接続されていて、サーバーを停止する必要がある場合、まず MySQL Shell セッションを閉じる必要があります。 この方法でまだ接続されているセッションでは、シャットダウン手順中にサーバーがハングアップする可能性があります。 これが発生した場合は、MySQL Shell を終了すると、サーバーは停止手順を続行します。
Unix ソケットファイルおよび Windows 名前付きパイプとの接続の詳細は、コマンドオプションを使用した MySQL Server への接続 および URI 類似文字列またはキーと値のペアを使用したサーバーへの接続 を参照してください。