首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql在连接本地主机时忽略端口参数

问Mysql在连接本地主机时忽略端口参数
EN

Stack Overflow用户
提问于 2018-02-27 00:49:08
回答 2查看 517关注 0票数 1

我有两个mysql实例暂时并排运行。我去做了不同的模式,当什么都没有报告的时候,我就知道出了什么问题。

代码语言:javascript
复制
$ diff --suppress-common-lines -y <(mysqldump --port 3307 -d accounts) <(mysqldump --port=3306 -d accounts)

$ mysql --no-defaults --port 3306 -e "show variables like 'port'" dbname

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+

$ mysql --no-defaults --port 3307 -e "show variables like 'port'" dbname                                                                                                                       
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+

端口参数被忽略了!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-27 01:06:16

默认情况下,连接到localhost使用的是Unix域套接字,而不是TCP,因此忽略端口号。文档解释道:

在Unix上,MySQL程序特别对待主机名localhost,这种方式可能与其他基于网络的程序不同。对于到本地主机的连接,MySQL程序试图使用Unix文件连接到本地服务器。即使给出一个-端口或-P选项来指定端口号,也会发生这种情况。要确保客户端与本地服务器建立TCP/IP连接,请使用--host或-h指定主机名值为127.0.0.1,或指定本地服务器的IP地址或名称。您还可以使用-- protocol =TCP选项显式地指定连接协议,甚至对于localhost也是如此。

另一个选项是将端口3307实例配置为使用不同的Unix套接字文件名。例如,使用

代码语言:javascript
复制
mysqld --socket=/tmp/mysql3307.sock --port=3307

然后使用

代码语言:javascript
复制
mysqldump --socket=/tmp/mysql3307.sock -d accounts

去连接它。

票数 3
EN

Stack Overflow用户

发布于 2018-02-27 00:51:04

我觉得这和本地主机有关,所以我试着远程连接,结果成功了!我得到了我想要的不同的端口和我想要的差异。

哈?真奇怪。然后,我想知道mysql是否使用默认的套接字连接到mysql实例,而且确实是这样。我在mysql手册中找到了一个protocol参数,并试图指定--protocol=TCP。

代码语言:javascript
复制
$ mysql --no-defaults --port 3307 --protocol TCP -e "show variables like 'port'" dbname                                                                                                                       
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3307  |
+---------------+-------+

维奥拉!

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

https://stackoverflow.com/questions/48999448

复制
相关文章

相似问题

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