【问题标题】:MySQL remote connection from outside network来自外部网络的 MySQL 远程连接
【发布时间】:2015-07-21 10:13:45
【问题描述】:

我试图让另一个网络上的客户端远程连接到我已设置的数据库,但每次我尝试为他们设置连接时,我都会收到 SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'servername' (110)

我有以下几点:

  • MySQL 用户已创建,主机设置为其服务器的 IP 地址
  • my.cnf绑定地址已设置为0.0.0.0
  • mysql服务已重启
  • MySQL 正在端口 3306 上运行
  • 我的服务器防火墙允许 3306/tcp 传入

我已经从我们网络内的其他服务器上对其进行了测试,例如我自己的本地 PC 和我们的另一台 Web 服务器,为这些特定主机设置 MySQL 用户,它工作正常。只是我们网络之外的这个不起作用。

是否有什么东西阻止了他们连接?还是我错过了什么?

谢谢。

【问题讨论】:

    标签: mysql ubuntu networking


    【解决方案1】:

    从外部访问 MySQL。您应该启用 MySQL 远程访问。

    方法如下:

    1- 在 Mysql Config(my.cnf) 中注释掉以下行

    #bind-address           = 127.0.0.1
    #skip-networking
    

    2- 保存文件并重启Mysql server

    3- 更新 GRANT 权限

    默认情况下,您使用的 mysql 用户名和密码被允许在本地访问 mysql-server。所以需要更新权限。

    运行以下查询以更新权限

    GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
    

    将“用户名”更改为您的数据库用户,将“密码”更改为用户密码

    【讨论】:

    • 您是否注释掉了绑定地址并跳过了网络?如果没有找到 skip-networking 行,添加并注释掉。
    • bind-address 最初已被注释掉,我尝试将其注释掉并将其设置为 0.0.0.0 并将其设置为实际 IP 地址。跳过网络被注释掉。仍然没有快乐。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 1970-01-01
    • 2021-12-09
    相关资源
    最近更新 更多