Windows下Navicat远程连接Linux下MySQL服务器错误1130

今天用Navicat在Windows下连接Linux服务器上的MySQL,显示出错误1130.

当然这是在修改了MySQL的配置文件my.cnf的前提下允许远程访问的基础上的,如果没有修改my.cnf则在连接时显示的错误号是2003,因为在MySQL安装后

配置文件中默认的绑定地址是127.0.0.1,是没法进行远程连接的,可以到/etc/mysql/my.cnf文件下,查看到这一点,将bind-address这一行注释起来

然后将文件保存,然后,输入/etc/init.d/mysql restart等待重启之后,就可以进行远程连接了,或者将127.0.0.1换成你在ifconfig下查看到的地址也行。

然后输入mysql -hlocalhost -u root -p 密码进入mysql,这里要处理的是1130的错误,

这时需要修改mysql数据库中的user表的数据,可以用use mysql切换到mysql这个数据库,

然后用desc user或着是show create table user,查看该表的结构,可以看到该表中,存在两行Host和User

可以使用select Host, User from user;

可以查看到有一个Host是localhost, User是root的行,这样输入update user set Host = '%' where User = 'root';

这时会报一个错误,但是可以忽略之。

这时再用select Host, User from user;查看就会发现localhost变为%了。

这时输入quit退出mysql.

然后重新启动MySQL。再用Navicat进行连接就可以连接上了。

参考文章:

http://www.itkee.com/database/detail-1288.html

原文地址:https://www.cnblogs.com/coder-zhang/p/3828378.html