问题如下:
使用navicat连接虚拟机上的mysql提示错误:Can’t connec to MySQL server on ‘xxxxx’(10060)
出现这个问题可能因为:
1.MySQL服务未启动
2.MySQL未授权远程连接
3.虚拟机防火墙或者3305端口未启用
第一步,检查虚拟机mysql服务是否启动
输入命令 service mysqld status 回车
mysqld is stopped mysql服务是停止状态
mysqld is running mysql服务是启动状态
第二步,检查MySQL是否开启远程权限
1.登陆mysql
mysql -u root -p
2.给MySQL开启允许远程连接的权限,输入以下语句`
mysql> use mysql;
mysql>grant all on *.* to 'root'@'%' identified by '你的密码';
%表示除localhost以外的所有地址都可以连接访问数据库服务器
3.查看是否授权成功,输入以下语句
mysql>select host, user from user;
第三步,检查虚拟机防火墙和端口
输入exit退出MySQL,输入命令 netstat -ntpl 检查端口信息
输入命令 iptables -vnL|grep 3306 回车,查看防火墙是否设置了3306端口
如果回车后没数据,说明没有3306端口,如果回车后显示3306端口是drop状态,都需要修正,方法如下:
输入命令然后回车
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
再次输入 iptables -vnL|grep 3306 回车即可看到3306端口状态信息:
再使用navicat连接mysql就没有问题了。
查看防火墙状态
systemctl status firewalld
开放MySQL的端口
firewall-cmd --permanent --add-port=80/tcp
重启防火墙
firewall-cmd --reload
仅以此记录over