![为什么 mysql 客户端实用程序不使用我指定的端口?](https://linux22.com/image/544089/%E4%B8%BA%E4%BB%80%E4%B9%88%20mysql%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%AE%9E%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%B8%8D%E4%BD%BF%E7%94%A8%E6%88%91%E6%8C%87%E5%AE%9A%E7%9A%84%E7%AB%AF%E5%8F%A3%EF%BC%9F.png)
我正在尝试使用mysql
(命令行实用程序)通过 SSH 隧道连接到 MySQL 服务器。问题是这个 MySQL 客户端不会使用我指定的端口。例如,我运行了此命令:
$ mysql -uroot --port=1234
然后它就连接到端口 3306。
为什么会这样?
我怎么能够力量该客户端连接到端口 1234(那么它应该显示端口 1234 不可连接)。
答案1
如果你在运行服务器的同一台主机上运行 mysql 客户端,它可能正在建立套接字连接,但根本不使用端口。尝试将以下内容添加 --protocol=TCP
到你的命令中:
mysql -uroot --protocol=TCP --port=1234
答案2
如果您使用 TCP/IP,则应指定主机 IP。如果主机是本地主机,则必须使用 127.0.0.1。
换句话说
mysql -uroot -h127.0.0.1 -P1234 -p (如果root有密码)
mysql -uroot -h127.0.0.1 -P1234(如果root没有密码)
登录后,运行此查询以确保:
显示类似‘port’的变量;