mysql ERROR 1130 问题解决方案

本地出现Error 1130问题解决方案

当连接mysql数据库的时候,出现ERROR 1130 (HY000): Host ‘xxxx’ is not allowed to connect to this MySQL server的问题。本地localhost也不行,重新安装mysql数据库又怕原来的数据库无法还原。

出现这种问题可能是非法关机、删除root用户等导致的,mysql数据库user表中没有root用户,如果localhost也无法登陆,则需要在my.ini最后加上skip-grant-tables,这样就不需要密码登录,登陆后通过以下sql语句创建root用户(我用的是5.1版本,不同版本可能sql语句不一样)

INSERTINTO`user`VALUES('localhost','root','your password','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0','0');

1

成功后,在my.ini删除skip-grant-tables,现在就可以使用在本地使用root账户密码登录了。

记住在安装了mysql的数据库中,不要非法关机,强制断电,不然会出现这样的问题。

本地出现了Error 1130,那远程连接也一定会出现该问题,解决了本地连接问题,却不一定解决远程连接出现Error 1130问题。

远程连接出现Error 1130问题

解决该问题有以下两个方法

1、改表法

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”

mysql-uroot-pvmwaremysql>use mysql;mysql>update usersethost='%'whereuser='root';mysql>flush privileges;mysql>selecthost, user from user

1

2

3

4

5

2、授权法

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANTALLPRIVILEGESON*.*TO'myuser'@'%'IDENTIFIEDBY'mypassword'WITHGRANTOPTION;

1

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANTALLPRIVILEGESON*.*TO'myuser'@'192.168.1.3'IDENTIFIEDBY'mypassword'WITHGRANTOPTION;

1

补充:重新安装mysql数据库不成功解决方法

有时候必须重新安装mysql数据库,但是总是安装不成功,这是因为被以前安装mysql文件影响了。可通过以下两步彻底删除mysql遗留文件

1、通过查找注册表 regedit,全文搜索MySQL并删除。

2、删除MySQL的数据,一般在C:\ProgramData下MySQL目录,(建议删除前对该文件夹进行备份,以便后续数据还原用)。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容