为什么mysql客户端实用程序不使用我指定的端口?

我试图使用MySQL(命令行实用程序)通过SSH隧道连接到MySQL服务器。 问题是这个mysql客户端不会使用我指定的端口。 例如,我运行这个:$ mysql -uroot –port = 1234

然后它只连接到端口3306。

为什么这样做?

我怎么能强制这个客户端连接到端口1234(那么它应该告诉我,端口1234是不可连接的)。

如果您正在运行服务器所在的主机上运行的mysql客户端,则可能是build立套接字连接,而不是使用该端口。 尝试将--protocol=TCP添加到您的命令

mysql -uroot --protocol=TCP --port=1234

如果您使用TCP / IP,则应指定主机IP。 如果主机是本地主机,则必须使用127.0.0.1。

换一种说法

mysql -uroot -h127.0.0.1 -P1234 -p(如果root拥有密码)

mysql -uroot -h127.0.0.1 -P1234(如果root没有密码)

login后,运行此查询以确保:

SHOW VARIABLES LIKE'port';