【问题标题】:why is mySQL connecting at any/all ports为什么 mySQL 在任何/所有端口都连接
【发布时间】:2011-05-22 17:00:15
【问题描述】:

我正在运行 Linux Mint 并尝试以这种方式连接到 mySQL

mysql --port=3306 -u root -p

然后它提示我输入密码。这一切都很好。为什么当我输入这样的东西时它仍然有效....

mysql --port=1234 -u root -p

应该不会因为 1234 端口上没有运行 mySQL 服务器而失败吗?

我问这个的原因是因为我想创建一个 SSH 隧道来连接到另一台服务器上的数据库。假设 SSH 隧道会将我的所有流量从 localhost:3308 转发到 myremoteserver:3306。由于我的本地 mySQL 服务器正在接受我在所有端口上的连接,因此我实际上无法连接到端口 3308 并访问远程服务器。我仍在访问我的本地服务器....

即使我的 SSH 隧道选项可能有误,我想知道是否有人知道为什么我可以连接到端口 1234,但它仍然会访问我在 3306 上运行的本地 mySQL 服务器?

【问题讨论】:

  • 当您说“工作”时,您的意思是它会提示您输入密码(它会),还是超出密码并实际将您登录到 mysql 服务器?如果您想连接到使用本地端口的 SSH 隧道,我建议您还可以在 mysql 客户端提示符处指定主机。 mysql --port=3308 -hlocalhost -u root -p。这将阻止您的 mysql 客户端使用 Unix 管道连接到您的服务器。另外,请查看 /etc/my.cnf 的 [client] 部分。
  • 是的,它实际上将我登录到 mySQL 服务器。这是我尝试过的最新版本,它实际上将我登录到 mySQL 服务器... mysql -h localhost --port=12312312 -u root -p

标签: mysql linux ssh-tunnel linux-mint


【解决方案1】:

要强制 TCP 连接,请使用 --protocol=TCP

示例:

首先是 SSH 隧道

ssh -L 4000:localhost:3306 server.ch

然后用

连接到远程mysql服务器
mysql -h localhost --port=4000 --protocol=TCP -u root -p

【讨论】:

    【解决方案2】:

    如果您连接到 localhost,IIRC mysql 会将您连接到 Unix 套接字。由于在这种情况下它不通过 TCP 连接您,因此不涉及端口,您提供的端口号无关紧要。

    编辑:不确定这是否在所有系统上都是如此,但如果我使用 127.0.0.1 或主机名而不是 localhost,mysql 通过 TCP 连接并且端口号确实很重要 - 我只能使用正确的端口号连接。

    【讨论】:

    • 非常感谢!当我使用 127.0.0.1 时工作。无论如何我可以强制 mysql 使用 TCP,即使我输入 localhost?
    • @girdus:您可以创建一个option file。在[client] 部分,添加行host=127.0.0.1。这不会改变您使用localhost 时发生的情况,但它强制默认为127.0.0.1 而不是localhost。 (有关文件的结构以及应该放在哪里的文档,请参阅链接。
    • 它也发生在 host=0.0.0.0
    【解决方案3】:

    它会在尝试连接之前询问您的密码。如果您输入您的密码(或其他任何内容)并让它继续,它会响应如下内容:

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/local/var/run/mysql5/mysqld.sock'
    

    【讨论】:

    • 对不起,我忘了说它在我输入密码后实际上连接了我......
    【解决方案4】:

    @titanoboa,谢谢!我遇到了同样的问题。只是要补充一点,您实际上可以使用以下命令强制 TCP 连接,即使是 localhost 也是如此

    [client]
    port = 3306 
    socket = /var/run/mysqld/mysqld.sock 
    protocol = TCP
    

    干杯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-21
      • 2011-08-09
      • 2015-01-04
      • 2013-07-19
      • 1970-01-01
      相关资源
      最近更新 更多