参考博客:https://www.cnblogs.com/dtiove/p/5716591.html
1、使用Navicat视图连接
连接错误提示:cannot connect to mysql 10038
解决办法:
检测一:linux是否注册了3306安全组端口
linux防火墙是否打开了3306端口
- sudo ufw status
- iptables -L -n查看端口
若没有开启3306端口,则加入
iptables -I INPUT -p udp --dport 端口号 -j ACCEPT
iptables -I INPUT -p tcp --dport 端口号 -j ACCEPT
和
sudo ufw allow 端口号
若是还有错误则使用命令netstat an | grep 3306
来查看mysql默认的端口3306是否开启,允许哪个ip使用,如果你发现,前面有127.0.0.1,就说明,3306端口只能本机ip使用
所以,我们需要
②:打开mysql配置文件vi /etc/mysql/mysql.conf.d/mysqld.cnf
将bind-address = 127.0.0.1注销
③:进入mysql,对远程用户进行授权,
grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';
这里的root 是你远程登录的用户,xxxxxx是你登录使用的密码,然后可以在mysql数据 表中查看到你这个用户已经被添加到user表。
最后需要重启mysql
sudo service mysql restart;