MySQL Shell 8.0/.../ UnixソケットおよびWindows Named Pipesを使用した接続

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

4.3.2 UnixソケットおよびWindows Named Pipesを使用した接続

Unixでは,次の条件が満たされた場合,MySQL外壳接続はデフォルトでUnixソケットを使用します:

  • TCPポトが指定されていません.使用实例

  • ホスト名が指定されていないか,本地主机と同じです。

  • ソケットファルへのパスの有無にかかわらず,——套接字または- sオプションが指定されています。

値なしで等号なしで——套接字を指定した場合,または値なしで- sを指定した場合,プロトコルのデフォルトのUnixソケットファereplicationルが使用されます。代替Unixソケットファereplicationルへのパスを指定すると,そのソケットファereplicationルが使用されます。

ホスト名が指定されているが,本地主机ではない場合は,かわりにTCP接続が確立されます。この場合,tcpポトが指定されていないと,デフォルト値3306が使用されます。

Windowsでは,クラシックMySQLプロトコルを使用するMySQL外壳接続の場合,ホスト名をピリオド()として指定した場合),MySQL壳は名前付きパイプを使用して接続します。

  • Uriのような接続文字列を使用して接続する場合は,user@。を指定

  • キと値のペアを使用して接続する場合は,{“主机”:“。"}を指定

  • 個々のパラメタを使用して接続する場合は,——主机=。または- h。を指定

デフォルトでは、パ以及プ名MySQLが使用されます。代替の名前付きパプは,——套接字オプションを使用するか,uriのような接続文字列の一部として指定できます。

URIのような文字列では,パーセントエンコーディングを使用するか,パスをカッコで囲んで,Unixソケットファイルまたは窗口名前付きパイプへのパスをエンコードする必要があります。カッコを使用すると,/ディレクトリセパレタ文字などの文字をパセントエンコドする必要がなくなります。Unixソケットファイルへのパスがクエリー文字列の一部としてURIのような文字列に含まれている場合,先頭のスラッシュはパーセントエンコードする必要がありますが,ホスト名を置き換える場合,次の例に示すように先頭のスラッシュはパーセントエンコードしないでください:

mysql-js> \connect user@localhost?socket=%2Ftmp%2Fmysql。socket=(/tmp/mysql.sock) mysql-js> \connect user@/tmp%2Fmysql. sockSock mysql-js> \connect user@(/tmp/mysql.sock)

Windowsの場合のみ,次の例に示すように,名前付きパWindowsプの先頭に文字\ \ \。を付加し,パセントエンコディングを使用してエンコドするか,カッコで囲む必要があります:

(\ \ \命名:管)\ \ \ % 3 apipe命名
重要

Windowsでは,名前付きパイプを使用して1つ以上のMySQL壳セッションがMySQL服务器インスタンスに接続されていて,サーバーを停止する必要がある場合,まずMySQL壳セッションを閉じる必要があります。この方法でまだ接続されているセッションでは,シャットダウン手順中にサーバーがハングアップする可能性があります。これが発生した場合は,MySQL Shellを終了すると,サバは停止手順を続行します。

UnixソケットファereplicationルおよびWindows名前付きパereplicationプとの接続の詳細は,コマンドオプションを使用したMySQL服务器への接続およびUri類似文字列またはキと値のペアを使用したサバへの接続を参照してください。