【BUG】阿里云服务器数据库远程连接报错

当你遇到 ERROR 2003 (HY000): Can't connect to MySQL server on '47.100.xxx.xx' (10061) 错误,这个错误代码 10061 通常意味着客户端无法连接到指定的 MySQL 服务器,原因可能有多种,下面为你分析可能的原因及对应的解决办法。

1. 网络连接问题

测试端口连通性 :在命令提示符中输入 telnet 47.100.165.17 3306

  • 若提示 Connected,说明端口开放,进入下一步;
  • 若提示 无法打开连接,需检查服务器防火墙或云平台安全组设置,确保 3306 端口(TCP)允许入站。

防火墙限制 :阿里云服务器的安全组规则可能会阻止外部的 MySQL 连接请求。你需要在阿里云控制台配置安全组规则,开放 MySQL 服务所使用的端口(默认是 3306)。

①登录阿里云控制台,点击"控制台",找到云服务器 ECS。

②选择对应的实例,点击 "管理"。

③在左侧导航栏中,点击 "安全组"或者"全部操作/网络和安全组/更换安全组",然后选择对应的安全组。

④在 "入方向规则" 中添加规则,协议类型选择 "MySQL (3306)",授权对象可以设置为你的 IP 地址,或者设置为 0.0.0.0/0 允许所有 IP 访问。

网络不通:你可以使用 ping 命令检查本地机器和阿里云服务器之间的网络连接情况。

2. MySQL 服务未启动或监听异常

检查 MySQL 服务状态:登录到阿里云服务器,使用以下命令检查 MySQL 服务是否正在运行。

bash 复制代码
systemctl status mysql

若服务未运行,可使用以下命令启动它。

bash 复制代码
systemctl start mysql

检查 MySQL 监听地址:确认 MySQL 服务器是否监听在正确的 IP 地址和端口上。打开 MySQL 配置文件(通常是 /etc/mysql/mysql.conf.d/mysqld.cnf),找到 bind-address 配置项。

bash 复制代码
bind-address = 0.0.0.0

将其设置为 0.0.0.0 表示监听所有可用的网络接口。修改完成后,重启 MySQL 服务。

bash 复制代码
systemctl restart mysql

3. 检查MySQL用户权限

即使端口开放,MySQL 用户可能无权从远程连接。登录 MySQL 并执行:

bash 复制代码
-- 查看用户权限
SELECT user, host FROM mysql.user;

-- 授权用户从任意IP访问(示例)
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • % 表示允许所有IP,也可替换为你的具体IP。
  • 确保用户名和密码正确。

注意:如果运行第二条命令时出现下图报错:

该错误是由于 GRANT 语句语法问题导致。在 MySQL 中,若要同时创建用户并授权,建议分开操作,先创建用户再授权,具体步骤如下:

  1. 创建用户并设置密码:
bash 复制代码
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
  1. 授予权限:
bash 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

执行上述两条语句,即可完成用户创建与权限授予,避免语法错误。

4. 端口被占用

检查端口占用情况:在阿里云服务器上,使用以下命令检查 3306 端口是否被其他程序占用。

bash 复制代码
netstat -tlnp | grep :3306

若该端口被其他程序占用,你需要停止占用该端口的程序,或者修改 MySQL 配置文件中的端口号。

按照以上步骤逐步排查和解决问题,应该能够解决你连接远程 MySQL 数据库时遇到的问题。

相关推荐
世事如云有卷舒40 分钟前
Ubunt20.04搭建GitLab服务器,并借助cpolar实现公网访问
linux·服务器·gitlab
Little-Hu1 小时前
QML TextEdit组件
java·服务器·数据库
riverz12271 小时前
TCP backlog工作机制
服务器·网络·tcp/ip
2401_858286112 小时前
OS15.【Linux】gdb调试器的简单使用
linux·运维·服务器·开发语言·gdb
c30%003 小时前
内网渗透——红日靶场五
运维·服务器
宇钶宇夕4 小时前
EPLAN 电气制图:建立自己的部件库,添加部件-加SQL Server安装教程(三)上
运维·服务器·数据库·程序人生·自动化
运维小贺5 小时前
各服务器厂商调整BIOS睿频教程
linux·运维·服务器·性能优化
网硕互联的小客服5 小时前
如何排查服务器中已经存在的后门程序?
运维·服务器·github
NetX行者6 小时前
FastMCP:用于构建MCP服务器的开源Python框架
服务器·python·开源
网硕互联的小客服8 小时前
未来趋势:AI与量子计算对服务器安全的影响
运维·服务器·网络·网络安全·量子计算