相信大家在使用MySQL数据库的过程中肯定都遇到过报错,其中MySQl 1130就是一个我们在远程登陆是经常遇到的错误。
本文树懒君就给大家介绍一下MySQL 1130报错的原因以及解决的思路,并给大家三种具体的解决方案供大家参考。
错误:ERROR 1130: Host ‘http://xxx.xxx.xxx.xxx’ is not allowed to connect to thisMySQL serve
错误1130:主机xxx.xxx.xxx.xxx”不允许连接到thismysql服务
被连接的数据不允许使用主机http://xxx.xxx.xxx.xxx访问,系统数据库mysql中user表中的host是localhost,只允许是用 localhost (127.0.0.1)连接;
解决该问题有以下三个方法:
首先使用localhost连接上mysql,然后使用如下两条命令(IP地址为你要远程连接数据库的本地机器的IP地址):
use mysql; update user set host='xxx.xxx.xxx.xxx';
之后退出mysql,然后我们重新启动mysql,此实我们设置了IP地址的本地机器就可以连接数据库了。
可能是我们的的帐号不允许从远程登陆,只能在localhost(127.0.0.1)登录。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”,具体命令如下:
mysql -u root -pvmware mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>flush privileges; mysql>select host, user from user
例如,如果我们想允许用户mysqluser使用mysqlpassword作为密码从ip为192.168.47.1的主机连接到mysql服务器,就需要进行如下操作:
GRANT ALL PRIVILEGES ON *.* TO 'mysqluser'@'192.168.47.1' IDENTIFIED BY 'mysqlpassword' WITH GRANT OPTION;
如果我们想使用mysqluser账户和其对应的密码 mysqlpassword从任何主机连接到mysql服务器,就需要进行如下操作:
GRANT ALL PRIVILEGES ON *.* TO 'mysqluser‘@'%' IDENTIFIED BY 'mysqlpassword' WITH GRANT OPTION;