【问题标题】:Connect to remote mysql via terminal通过终端连接到远程mysql
【发布时间】:2011-03-17 15:03:39
【问题描述】:

为了测试,我设置了具有 % 访问权限的用户 mysql 用户。当我尝试从远程机器连接时,我得到:

输入密码:

然后马上得到这个:

错误 2003 (HY000):无法连接到“xxxxxxx”上的 MySQL 服务器 (1)

任何想法

【问题讨论】:

    标签: mysql connection


    【解决方案1】:

    验证您是否可以从该远程计算机使用 telnet 连接到 mysql 端口,例如

    telnet 192.168.1.52 3306
    

    如果失败,某处有防火墙阻止您连接,或者您在与默认端口不同的端口(3306)上运行 mysql,或者 mysql 未配置为侦听接口/IP 地址(可能只是配置为监听来自 localhost 的连接,检查 my.cnf 配置文件中的bind-address 配置)

    【讨论】:

    • 尝试注释掉绑定。无法远程登录,一定是防火墙问题,它在 3306 上。不过谢谢
    • 空白的 telnet 屏幕是否算作成功?还是我应该看到一些输出?
    • @Marvin 那是因为你试图在你不应该运行它的地方运行这个命令。您需要在 linux shell、OSX shell 或 windows 命令终端中运行它。 - 或者是因为你在某处输入了错误。
    • @nos 没关系,我发现 Telnet 客户端没有被使用,我必须在设置中启用它(我从另一个 SO 问题中找到了这个)。现在它给了我很多奇怪的字符。
    • 看起来很合理。您收到了 MySQL 的响应,因此您可以得出结论,没有防火墙阻止访问。
    【解决方案2】:

    尝试在您的/etc/mysql/my.cnf

    中评论bind-address = 127.0.0.1
    # security:
    # using "localhost" in connects uses sockets by default
    # skip-networking
    # bind-address = 127.0.0.1  --- commented
    

    并观察结果。如果不起作用,请尝试使用 IP 地址,如果仍然不起作用。回滚原文件。

    【讨论】:

      【解决方案3】:

      你能远程登录到 MySQL 的 3306 端口吗?如果不能,请检查以确保 MySQL 服务器服务正在侦听该端口。打开命令提示符并键入以下示例。 示例:telnet yourmysqlservername.com 3306

      【讨论】:

        猜你喜欢
        • 2018-04-19
        • 2010-12-02
        • 1970-01-01
        • 2015-05-05
        • 2018-12-05
        • 1970-01-01
        • 1970-01-01
        • 2012-05-24
        • 2016-02-25
        相关资源
        最近更新 更多