1. 登陆mysql
mysql -u root -p
2. 找到use表
mysql> use mysql;
3. 更新use表中的host,将localhost改为%。
mysql> update user set host = '%' where user = 'root';
4. 查找host,确认是否修改成功
mysql> select host, user from user;
5. 刷新MySQL的系统权限相关表,否则会出现拒绝访问
mysql> flush privileges;
注意:%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.12,这表示只允许局域网的192.168.1.12这个ip远程访问mysql。
6. 开放防火墙3306端口(我这里默认防火墙已经开启并且用的是firewall)
firewall-cmd --permanent --zone=public --add-port=3306/tcp
7. 查看是否开启端口
firewall-cmd --permanent --zone=public --list-port
8. 端口添加成功后,重启防火墙
systemctl restart firewalld 或者 firewall-cmd --reload
9. 使用Navicat远程访问数据库就成功了