问题如下:

使用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就没有问题了。


仅以此记录over

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐