MySQL://localhost/root/mysqld.sock/(none)> \s
--------------
mysql Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using EditLine wrapper
Connection id: 3
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.26 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 10 min 57 sec
Threads: 1 Questions: 24 Slow queries: 0 Opens: 109 Flush tables: 1 Open tables: 28 Queries per second avg: 0.036
--------------
MySQL://localhost/root/mysqld.sock/(none)>
就在下面Protocol version,你会看到我是如何连接的:
Protocol version: 10
Connection: Localhost via UNIX socket
有两种被动的方法可以找出答案
例子
如果执行状态命令 (
\s
)你得到这个输出
就在下面
Protocol version
,你会看到我是如何连接的:如果您配置了提示显示,另一种方法是查看您的 MySQL 提示。请注意我当前的提示:
我将它设置在
.my.cnf
组[mysql]
标题下\h
回显主机地址并回显正在使用的\p
端口号。就我而言,因为它回显localhost
andmysqld.sock
,所以它没有使用 TCP/IP。如果它使用 TCP/IP,它应该回显127.0.0.1
和3306
.如果你想尝试使用 TCP/IP 连接,你必须使用--protocol,正如你提到的:
我不认为有一个变量。
因为它基本上没有什么不同,如果你在本地机器上使用(名称管道仅限 windows / Sockets linux only )或 tcp/ip.
当您尝试从另一台机器连接时,您只能使用 tcp/ip
当您连接到本地主机时
-h localhost
,客户端将首先尝试使用名称管道/套接字,当失败时它将尝试 tcp/ip。如果与
-h 127.0.0.1
客户端连接将仅使用 tcp/ip