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

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

我正在尝试使用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’的变量;

相关内容