无法连接远程MYSQL服务器

时间:2016-12-20 09:33:51

标签: mysql

我已向root用户授予了所有权限,但我无法远程访问。我已经允许防火墙访问端口3306,但我无法连接。

我收到错误:your connection attempt failed for user 'root' from your host to server xxx.xxx.x.xx:3306

2 个答案:

答案 0 :(得分:0)

在my.cnf文件中查找bind address指令。这将告诉mysql从哪个IP访问。

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 0.0.0.0

0.0.0.0只提供最通用的答案,但出于安全考虑,应替换为特定地址 请注意,执行此操作的安全方法是仅指定一些特定的IP,而不使用通配符。这样只有受信任的客户才能登录。

注意: 检查您是否授予将连接该IP(或通配符)权限的用户。如果不是,你必须运行这些:

GRANT ALL privileges ON testDB.* TO 'testUSER'@'IP_Address' IDENTIFIED BY 'testPassword';
FLUSH PRIVILEGES;

将这些命令调整到您的环境

答案 1 :(得分:0)

当你说我的评论是你需要的答案时写出这个答案。

您的root用户可能是'root'@'localhost',这意味着它只接受来自localhost的登录。创建'root'@'%'以允许从任何地方登录。

我建议不要使用%,除非您确实锁定了权限。但更好的是,使用'root'@'YOUR IP HERE'