![为什么我无法远程连接到 MySQL?](https://linux22.com/image/588417/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E6%97%A0%E6%B3%95%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5%E5%88%B0%20MySQL%EF%BC%9F.png)
我在服务器上设置了一个 MySQL 数据库,我创建了一个用户并从任何地址向该用户授予了所有权限,但我无法通过我使用的任何软件远程连接到数据库。
我已检查端口是否正确,跳过网络已关闭,绑定地址未设置为仅限本地。我还应该检查什么?
答案1
如果您有 root@'%' 这样的用户,您应该能够连接。您应该将其更改为 root@'xx.xx.xx.%' 而不是 root@'%',因为您不希望远程访问如此开放。
您可能需要检查您的防火墙设置。
尝试这个
service iptables stop
然后尝试再次连接
答案2
检查事项:
- MySQL 正在运行吗?
- 您是否已努力
FLUSH PRIVILEGES;
确保您的补助金已更新? - 可以服务器接触外面的世界?
- 本地 TCP 连接可以工作吗?
mysql --host=127.0.0.1 --port=3306 -uroot -p
- 入站端口是否可以通过
nmap
或访问telnet
?
除此之外,您还必须提供更多信息:当您尝试从 MySQL 客户端远程访问时遇到的确切错误。
答案3
my.cnf 中的绑定地址可能是 127.0.0.1。这样就不会允许外部访问。将其更改为您的互联网 IP 即可解决此问题。
答案4
检查以确保 Windows 防火墙没有阻止端口 3306。
我在 Windows 10 服务器上采取的步骤:
- 开始 > “允许应用通过 Windows 防火墙”
- 查找“MySQLxx”
- 按“更改设置”
- 确保“私人”和“公共”均已选中