【发布时间】:2026-02-07 02:10:01
【问题描述】:
我有一个 MySQL 数据库,我想从远程计算机连接到该数据库。我在 /etc/mysql/my.cnf 中注释掉了 bind-address 以允许远程连接。我现在可以在本地机器上登录 MySQL
mysql --host=[SERVER_IP] --user=[USER] --password=[PASSWORD] [DATABASE]
效果很好。但是,我无法从笔记本电脑登录。在这里我得到一个错误
ERROR 2003 (HY000): Can't connect to MySQL server on [SERVER_IP] (110)
当我运行与上面相同的命令时。我可以ping通服务器
64 bytes from [SERVER_IP]: icmp_seq=1 ttl=64 time=0.367 ms
没有任何错误。我也可以traceroute
1 * * *
没有任何错误。最后,我运行 nmap 得到以下结果:
3306/tcp open mysql
这表明这不是防火墙问题。
有人知道发生了什么吗?任何帮助将不胜感激!
编辑: 我忘了说我也给了用户访问权限:
GRANT ALL ON [DB_NAME].* to '[USER]'@'%' IDENTIFIED BY '[PASSWORD]'
对不起!
【问题讨论】:
-
您正在连接的用户是否有权从任何主机连接,还是仅限于本地主机?
-
你能ping通,但你能
telnet YOUR_SERVER_IP_OR_HOSTNAME 3306吗? -
我已经在 [DB_NAME].* 上运行 GRANT ALL 到 '[USER]'@'%' IDENTIFIED BY '[PASSWORD]';实际上,我忘了在帖子中提到这一点。很抱歉!
-
@Thomas 检查您的电脑是否可以通过互联网连接
-
我无法远程登录。至少我没有得到服务器的响应。您认为这是防火墙问题吗?
标签: mysql networking mysql-error-2003