解决:MYSQL远程连接错误码:1130 Host 'xxx' is not allowed to connect to this MySQL server

解决:MYSQL远程连接错误码:1130 Host 'xxx' is not allowed to connect to this MySQL server

出现这个问题的原因是当前用户不具备远程登录MYSQL的权限. 而修改这个权限通常有以下两种方式.

>>修改mysql.user表中的用户host值.

>mysql -uroot -pjerval
mysql>use mysql;
mysql>update user set host = '%' where user = 'freepbxuser';
mysql>flush privileges;
mysql>select host, user from user;
mysql>quit;

这里将用户freepbxuser的host值修改为'%'(通常默认值是:localhost, 当然也可以将这个值更新成特定的IP, 那么就只允许特定IP的电脑连接), '%'代表允许所有的远程PC使用freepbxuser用户帐号连接此mysql. 修改后通过'flush privileges'命令将权限信息刷新一下(这步很重要,不然更改不能马上生效). 最后通过select语句查看是否update成功. 

注:这里必须使用root帐号去修改.

>>通过命令

授权所有在mysql库下的权限给用户jerval2,并允许jerval2用户通过远程任意机器登录mysql:

mysql>grant all privileges on mysql.* to 'jerval2'@'%' identified by '123' with grant option;
mysql>flush privileges;

其中identified by '123'可以省略,当然如果用户不需要再有给其它用户授权的能力,则 with grant option 也可以省略. 如实例:

mysql> grant all privileges on mysql.* to 'jerval2'@'%';
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> select user,host from mysql.user;
+------------------+-------------------+
| user             | host              |
+------------------+-------------------+
| jerval           | %                 |
| jerval2          | %                 |
| root             | 127.0.0.1         |
| root             | ::1               |
| root             | jerval-virtualbox |
| debian-sys-maint | localhost         |
| jerval2          | localhost         |
| root             | localhost         |
+------------------+-------------------+
8 rows in set (0.00 sec)

 

猜你喜欢

转载自jerval.iteye.com/blog/2101747