MySQL 1130错误原因及解决方案

Posted 树懒学堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 1130错误原因及解决方案相关的知识,希望对你有一定的参考价值。

 

相信大家在使用mysql数据库的过程中肯定都遇到过报错,其中MySQl 1130就是一个我们在远程登陆是经常遇到的错误。

本文树懒君就给大家介绍一下MySQL 1130报错的原因以及解决的思路,并给大家三种具体的解决方案供大家参考。

错误概述:

错误:ERROR 1130: Host ‘xxx.xxx.xxx.xxx’ is not allowed to connect to thisMySQL serve

错误1130:主机xxx.xxx.xxx.xxx”不允许连接到thismysql服务

原因分析

被连接的数据不允许使用主机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;

了解更多数据库知识,点击全文链接: https://www.shulanxt.com/doc/dbdoc/mysql-1130

另外,扫码关注“树懒学堂”公众号,里面会定期发布一些数据库干货。

                                                                                                  

以上是关于MySQL 1130错误原因及解决方案的主要内容,如果未能解决你的问题,请参考以下文章

解决mysql错误1130的方法(远程出错)

MySQL 1130错误,无法远程连接

Navicat连接Mysql(Windows环境下)报错提示错误代码1130和1251的解决方法

解决远程连接mysql错误1130(转载)

亲测可用通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法

解决远程连接mysql错误1130