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