首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定MySQL客户端使用的连接方法?

问如何确定MySQL客户端使用的连接方法?
EN

Unix & Linux用户
提问于 2012-02-19 19:29:28
回答 1查看 25K关注 0票数 11

当使用MySQL客户端(例如mysql)时,如何确定它是使用Unix文件连接到服务器,还是使用TCP/IP连接到服务器?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2012-02-19 20:15:55

查找传输

尝试使用netstat -ln | grep 'mysql',您可以看到输出是如何连接它的。如果您可以访问shell

在Unix上,MySQL程序特别对待主机名localhost,这种方式可能与其他基于网络的程序不同。对于到本地主机的连接,MySQL程序试图使用Unix文件连接到本地服务器。

即使给出一个--port或-P选项来指定端口号,也会发生这种情况。

如果您想知道mysql中的连接类型,请使用'\s‘(status)命令。

代码语言:javascript
复制
mysql> \s

输出将有如下一行(在Unix上)。

代码语言:javascript
复制
Connection:             127.0.0.1 via TCP/IP

或

代码语言:javascript
复制
Connection:             Localhost via UNIX socket

强制执行特定的传输

若要确保客户端与本地服务器建立TCP/IP连接,请使用--host或-h指定主机名值127.0.0.1或本地服务器的IP地址或名称。您还可以使用--protocol=TCP选项显式地指定连接协议,甚至对于本地主机也是如此。例如:

代码语言:javascript
复制
shell> mysql --host=127.0.0.1
shell> mysql --protocol=TCP

--protocol={TCP|SOCKET|PIPE|MEMORY}选项显式指定用于连接到服务器的协议。当其他连接参数通常会导致您想要的协议之外的协议被使用时,这是非常有用的。例如,Unix上到localhost的连接默认使用Unix套接字文件:

代码语言:javascript
复制
shell> mysql --host=localhost

若要强制使用TCP/IP连接,请指定一个--protocol选项:

代码语言:javascript
复制
shell> mysql --host=localhost --protocol=TCP

协议类型:

  • TCP:与本地或远程服务器的TCP/IP连接。可在所有平台上使用。
  • 套接字: Unix套接字文件连接到本地服务器。仅在unix上可用。
  • 管道:命名管道连接到本地或远程服务器.只能在窗户上使用。
  • 内存:共享内存连接到本地服务器。只能在窗户上使用。

Unix套接字文件连接比TCP/IP更快,但只能在连接到同一台计算机上的服务器时使用。

票数 13
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/32134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档