错误背景:
Navicat mysql客户端连接时,使用localhost和127.0.0.1能连接数据库,使用本机的ip地址10.2.116.17不能访问。用户为root
错误示例:
SQL Error (1130): Host '10.2.116.17' is not allowed to connect to this MySQL server
错误原因:
名为mysql数据库内user表里root用户对应记录的host字段值为localhost。因此mysql限制root用户只允许本地登录,不允许ip登录。
解决方案:
使用命令行界面登录mysql:
c:>mysql -uroot -pyourpwd
//打开要使用的数据库mysql
mysql>use mysql;
//将hsot字段值设为%,允许所有ip访问。只在测试时使用
mysql>update user set host = '%' where user ='root';
//这一步很重要,权限更改需要刷新权限
mysql> flush privileges;
//查看是否host字段已经改为%
mysql>select 'host','user' from user where user='root';
解决结果:
再次通过客户端,通过ip访问时就会显示连接成功了。祝你好运!!