今天在用navicat连接非本地的Mysql服务器的数据库,居然无法连接很奇怪,报1130错误,
ERROR 1130: Host 192.168.3.100 is not allowed to connect to this MySQL server
猜想是无法给远程连接的用户权限问题。
常用的解决方法
在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。
- 以权限用户root登录
mysql -u root -p
- 选择mysql库
mysql>use mysql;
- 查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
mysql>select 'host' from user where user='root';
- 修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
mysql>update user set host = '%' where user ='root';
- 刷新MySQL的系统权限相关表
mysql>flush privileges;
- 再重新查看user表时,有修改。。
mysql>select 'host' from user where user='root';
记得Mysql服务需要重新启动(确保修改有效),否则可能
最快的解决方法
- 授权root用户对所有数据库在任何ip都可以进行操作
grant all on *.* to root@'%' identified by '123456' with grant option;
- 刷新数据库
flush privileges;
本文由
没有翅膀却想飞上天空
原创发布于
阳光沙滩
,未经作者授权,禁止转载