在Unix, MySQL壳连接默认使用Unix socket当满足下列条件:
没有指定一个TCP端口。
没有指定主机名或它等于
本地主机
。的
——套接字
或- s
指定选项,有或没有一条通往一个套接字文件。
如果您指定——套接字
没有价值和没有等号,或- s
没有一个值,默认使用Unix socket文件协议。如果你指定一个通往另一个Unix套接字文件,使用套接字文件。
如果指定主机名但事实并非如此本地主机
,建立TCP连接。在这种情况下,如果没有指定一个TCP端口3306使用的默认值。
MySQL外壳连接在Windows上,使用经典的MySQL协议,如果指定的主机名作为一个时期(.),MySQL Shell使用命名管道连接。
如果你使用一个类uri连接字符串连接,指定
user@。
如果您使用的是连接键值,指定
{“主机”:“。”}
如果你连接使用单个参数,指定
——主机=。
或- h。
默认情况下,管道的名字MySQL
使用。您可以指定另一个命名管道使用——套接字
选择或类uri连接字符串的一部分。
Unix socket类uri字符串的路径文件或窗口必须编码命名管道,使用百分比编码或通过路径周围的括号。括号消除需要百分比编码字符等/
目录分隔符。如果路径Unix套接字文件中包含一个类uri字符串作为查询字符串的一部分,主要削减一定百分比编码,但如果它取代主机名,主要减少不能百分比编码,如以下示例所示:
mysql-js > \ connect user@localhost ?插座= % 2 ftmp % 2 fmysql。袜子mysql-js > \ connect user@localhost ?插座= (/ tmp / mysql.sock) mysql-js > \连接user@ / tmp fmysql % 2。袜子mysql-js > \ connect user@ (/ tmp / mysql.sock)
在Windows上,命名管道必须前缀字符\ \ \。
除了使用百分比编码编码或与括号包围,如以下示例所示:
(\ \ \命名:管)\ \ \ % 3 apipe命名
在Windows上,如果一个或多个MySQL Shell会话连接到一个MySQL服务器实例使用一个命名管道,你需要关闭服务器,您必须首先关闭MySQL Shell会话。会议仍以这种方式连接会导致服务器挂在关闭过程。如果这发生,退出MySQL壳牌和服务器将继续关闭程序。
更多信息与Unix socket连接文件和Windows命名管道,明白了连接到MySQL服务器使用命令选项和使用类uri字符串连接到服务器或键-值对。