前言
相信大家在使用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)连接;
解决方法:
解决该问题有以下三个方法:
1:简单法
首先使用localhost连接上mysql,然后使用如下两条命令(IP地址为你要远程连接数据库的本地机器的IP地址):
use mysql;
update user set host='xxx.xxx.xxx.xxx';
之后退出mysql,然后我们重新启动mysql,此实我们设置了IP地址的本地机器就可以连接数据库了。
2: 改表法。
可能是我们的的帐号不允许从远程登陆,只能在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
3:授权法
例如,如果我们想允许用户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;
总结
到此这篇关于MySQL 1130错误原因分析以及解决方案的文章就介绍到这了,更多相关MySQL 1130错误解决内容请搜索编程客栈(www.cppcns.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.cppcns.com)!