1、连接mysql服务器报错:
通过 mysql -hhost -u user -p 命令连接mysql服务器时,报以下错误:
ERROR 1130 (HY000):Host 'hostname' is not allowed to connect to this MySQL server
2、原因:
这是因为mysql服务器出于安全考虑,默认只允许本机用户通过命令行登录。
这是在mysql服务器自带的mysql数据库的user表中设置的。
从表中数据可以看出,root用户通过命令行连接mysql服务器时,只能在本机连接。
user表中“%”表示所有计算机都可以远程连接该服务器。
3、解决方案:
先通过localhost登录mysql服务器。(具体使用localhost还是127.0.0.1登录由user表的数据决定)
将mysql服务器的mysql数据库的user表中root用户的Host字段改为"%"。
命令如下:
mysql -h localhost-u user -p
use mysql;
update user setHost='%' where Host='localhost';
flush privileges; --这条命令必须执行,否则配置不会生效
quit
重新连接就不会出现这种问题了。