为什么哦,为什么我不能连接到mysql?
mysql -u root -ptest101 -h xxx.xxx.xxx.xxx ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server 在my.cnf中,我有以下内容
bind-address = 0.0.0.0 我也跑了下面...
'UPDATE mysql.user SET Password = PASSWORD('test101') WHERE User = 'root'; FLUSH PRIVILEGES; 我可以使用mysql -u root -ptest101在主机上访问,但不能使用mysql -u root -ptest101 -h xxx.xxx.xxx.xxx
哇...为什么会这样?我是Ubuntu 12.04
mysql> SELECT host FROM mysql.user WHERE User = 'root'; +---------------------------------------------+ | host | +---------------------------------------------+ | % | | 127.0.0.1 | | ::1 | | | localhost | +---------------------------------------------+ 5 rows in set (0.00 sec)
您的root帐户(此语句适用于任何帐户)可能仅已添加了具有localhost访问权限(建议)。
您可以使用以下方法进行检查:
SELECT host FROM mysql.user WHERE User = 'root'; 如果仅使用localhost和查看结果127.0.0.1,则无法从外部来源进行连接。如果您看到其他IP地址,但没有看到您要连接的IP地址,这也表明。
您将需要添加要授予访问权限的每个系统的IP地址,然后授予特权:
CREATE USER 'root'@'ip_address' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON . TO 'root'@'ip_address'; 如果您看到%,那么,还有另一个问题,那就是“任何远程源”。但是,如果您确实希望任何/所有系统都通过root连接,请使用%通配符授予访问权限:
CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON . TO 'root'@'%'; 最后,重新加载权限,您应该可以进行远程访问:
FLUSH PRIVILEGES;来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。