Windows中Navicat远程连接数据库
如果mysql不支持远程连接,会出现提示:错误代码是1130,ERROR 1130: Host * is not allowed to connect to this MySQL server。
解决方法如下:
localhost改成%
进入mysql的BIN目录
代码如下 复制代码
mysql -u root -p
mysql>use mysql;
mysql>select host,user from user where user='root'; //显示root的host是localhost
mysql>update user set host =’%'where user =’root’;
mysql>flush privileges;
再查看:
select host,user from user where user=‘root’;
具体分析
1、在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为’%’。
代码如下 复制代码
mysql>
mysql>use mysql;
mysql>select ‘host’ from user where user=‘root’;
#查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
代码如下 复制代码
mysql>update user set host = ‘%’ where user =‘root’;
#修改host值(以通配符%的内容增加主机/IP地址,当然也可以直接增加某个特定IP地址,如果执行update语句时出现ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’ 错误,需要select host from user where user = ‘root’;
查看一下host是否已经有了%这个值,如果有了直接执行下面的flush privileges;即可)
代码如下 复制代码
mysql>flush privileges;
mysql>select host,user from user where user=‘root’;
mysql>quit
关防火墙
连接前可以先Ping一下,如
如果Navicat有这个错误,则需要关一下防火墙,双方都关一下防火墙。