解决Nacicat无法连接远程mysql 报错10038

用lnmp一键安装包搭好环境用navicat连接发现无法连接并报错

在这里插入图片描述

  • 登陆mysql
#mysql -u root -p

2、修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
更改数据库用户权限(注意 第二行填写自己的mysql密码)

mysql> use mysql; 
mysql>grant all privileges on *.* to 'root'@'%' identified by '~~yourpwd~~  ';
mysql> update user set host = '%' where user = 'root'; 
mysql> select host, user from user; 
mysql> flush privileges;

在这里插入图片描述
重启服务器 navicat 重新连接

发现还是报错 下面设置下防火墙

  • 打开防火墙配置文件
vim /etc/sysconfig/iptables
  • 把3306的端口后面改为ACCEPT

如图
在这里插入图片描述

  • 然后重启防火墙
service iptables restart
  • 测试发现连接成功

- 打开防火墙配置文件

你可能感兴趣的:(navicat,linux,mysql)