mysql 远程连接失败原因

本文介绍了MySQL远程连接失败的常见原因,包括检查远程账号的% host记录、配置实例的安全组规则,以及调整服务器的防火墙设置。在阿里云实例中,需在安全组添加3306端口的出入规则,并确保防火墙(如firewall或iptables)配置正确,允许3306端口通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

远程账号

需要添加一个用于远程访问的账户,此账号可以是root本身,密码可以是不同于本地的密码。
大致检查步骤

  • 登录到服务器,进入mysql
  • 输入命令查看是否有 % host 记录 且 user 是 root
  • 命令:
use mysql;
select host,user from user;

在这里插入图片描述

实例安全组

腾讯云或者阿里云服务器的实例里面,找到安全组,里面的进出规则,
需要添加对应端口3306(下图是阿里云控制台)
在这里插入图片描述

防火墙(多数情况)

大多数情况来自于防火墙。
首先看下防火墙(如下图)

  • 我的服务器防火墙是firewall 可以看到服务已经禁用了
  • 查看状态 ,关闭防火墙 ,关闭服务
systemctl status firewalld.service 
systemctl stop firewalld.service
systemctl mask firewalld

在这里插入图片描述
这样可能还没有完。比如iptables
关闭服务或者添加规则

service iptables stop

查看iptables状态,如下图
在这里插入图片描述
编辑如下文件修改或添加规则

vi /etc/sysconfig/iptables

在这里插入图片描述
重启一下iptables

service iptables restart

在这里有点意外,关闭了iptables服务,数据库还是不能远程访问。但是在添加了如上3306的端口规则后,关闭iptables又可以远程访问了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值