关于主机无法远程连接虚拟机mysql问题解决

今天在用navicat工具去远程连接虚拟机mysql时,一直报无法连接错误

然后网上比较了很多种方法:发现导致mysql无法连接的原因有很多种,我这边就举例三种常见的原因:

1、MYSQL 服务没有启动

1)输入下面的命令检查虚拟机mysql服务是否启动

1| systemctl status mysqld

active表示已正常启动。如果没有启动,则输入以下命令:

systemctl start mysqld	

说明:

​ 可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:

systemctl enable mysqld

2、MYSQL没有设置远程连接

1) 登录mysql

mysql -u root -p

登录mysql数据库,修改root的密码,为root设置一个新的密码。并且我们还需要开启root用户远程访问该数据库的权限,这样的话,我们就可以在windows上来访问这台MySQL数据库。

 2)修改密码


   set global validate_password_length=4;            设置密码长度最低位数
   set global validate_password_policy=LOW;        设置密码安全等级低,便于密码可以修改成root
   set password = password('root');                设置密码为root
    

3) 开启访问权限


    grant all on *.* to 'root'@'%' identified by 'root';
    flush privileges; 

注意:

# grant all privileges on *.* to '用户名'@'%' identified by '密码';
# mysql8.0 以前的版本可以使用grant在授权的时候隐式的创建用户,8.0以后已经不支持,所以必须先创建用户,
然后再授权

3、3306端口没有启动 -(本人出现的问题是该原因导致的)

1)检查端口信息

netstat -ntpl | grep 3306



 2)用以下指令查看防火墙是否设置了3306端口,如果回车后没数据,说明没有3306端口,如果回车后显示3306端口是drop状态,都需要修正。

iptables -vnL | grep 3306

3) 防火墙设置3306端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

再次输入iptables -vnL | grep 3306 后,出现下图,就没有问题了

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

→飘渺的尘埃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值