阿里云 RDS MySQL 数据库的数据直接在 Excel 里连接读取,但一直连接失败。这种情况大多是 连接参数、网络权限、驱动配置 这三方面的问题。
目录
四、本地电脑上的 Excel 想连 ECS 公网RDS MySQL数据库
一、公网 IP 访问 RDS
1️⃣ 公网访问条件确认
先确保你的 RDS 符合以下条件,否则 Excel 无论怎么设置都连不上:
-
已开启公网地址
-
登录阿里云 → RDS 控制台 → 找到实例 → 基本信息 里要能看到 “公网地址” 和端口(默认 3306)。
-
如果没有公网地址,需要点击 申请公网连接地址。
-
-
白名单已放行本机 IP
-
RDS 控制台 → 数据安全性 → 白名单设置
-
添加你电脑的公网 IPv4 地址(可在浏览器搜索 “我的IP” 获取),格式例如:
123.45.67.89 -
如果经常换 IP,可以加
0.0.0.0/0先测试(但注意安全)。
-
-
本地能直接连通 MySQL
-
用 MySQL Workbench / DBeaver / 命令行测试:
mysql -h <RDS公网地址> -P 3306 -u <账号> -p -
如果这一步失败,说明是白名单、防火墙、端口没放行的问题,不是 Excel 设置问题。
-
2️⃣ 安装 MySQL ODBC 驱动
Excel 不自带 MySQL 驱动,你需要去官方下载:
-
MySQL Connector/ODBC
-
选择版本:
-
Excel 32 位 → 安装 32 位驱动
-
Excel 64 位 → 安装 64 位驱动
-
安装后在 Windows 的 “ODBC 数据源管理器” 里会出现 MySQL 选项。
-
3️⃣ 配置 ODBC 数据源
-
打开
ODBC 数据源管理器(搜索 ODBC)。 -
选择 系统 DSN → 添加 → 选 MySQL ODBC 8.0 Unicode Driver(或者 ANSI)。
-
在配置窗口里填写:
-
Data Source Name:AliyunRDS(自定义名字)
-
Server:RDS 公网地址(不是内网地址)
-
Port:3306(或你自定义的端口)
-
User:数据库账号(注意阿里云默认是
xxx@实例名格式) -
Password:数据库密码
-
Database:要连接的数据库名
-
-
点击 Test 测试成功后保存。
4️⃣ Excel 连接 MySQL
-
Excel → 数据 → 获取数据 → 从其他源 → 从 ODBC。
-
选择刚刚的
AliyunRDS数据源。 -
选择表或执行 SQL 查询,即可导入数据。
5️⃣ 常见错误对照表
| 错误提示 | 可能原因 | 解决办法 |
|---|---|---|
Can't connect to MySQL server on... | 白名单没加、端口被拦、公网地址没开 | 检查白名单、防火墙、安全组 |
Access denied for user... | 用户名/密码错,或没加 @实例名 | 用完整用户名 user@实例名 |
SSL connection error | ODBC 默认要 SSL,RDS 没开 | 在 ODBC 设置里勾选或取消 Use SSL 选项 |
二、内网 ECS 访问阿里云 RDS MySQL

内网 ECS 访问阿里云 RDS MySQL,那连接方式会和公网不太一样,也能绕开公网的白名单、防火墙等限制,速度和安全性都更好。
1️⃣ 条件确认
-
ECS 和 RDS 必须在同一个地域(Region)
-
比如 ECS 在 “华东 1”,RDS 也要在 “华东 1”。
-
-
RDS 要有内网地址(默认都有)
-
登录 RDS 控制台 → 基本信息 → 内网地址(通常是
xxx.mysql.rds.aliyuncs.com)。
-
-
ECS 安全组放行 MySQL 端口(默认 3306)
-
ECS 控制台 → 安全组规则 → 入方向规则 → 放行 3306(如果 ECS 只是访问别人提供的 RDS,可以不放)。
-
-
RDS 白名单加上 ECS 的内网 IP 段
-
RDS 控制台 → 数据安全性 → 白名单设置 → 添加 ECS 内网 IP 或网段,例如:
172.16.0.0/16
-
2️⃣ 测试内网连接
在 ECS 上执行:
mysql -h <RDS内网地址> -P 3306 -u <用户名> -p
-
如果能登录成功,说明网络和权限正常,可以继续配置 Excel。
-
如果失败:
-
检查白名单(必须加 ECS 内网 IP 段)
-
检查安全组规则
-
确认两个实例同 Region 且同 VPC
-
3️⃣ 在 ECS 上安装 MySQL ODBC 驱动
如果 Excel 是直接在 ECS 的桌面环境(比如 Windows Server ECS)运行的:
-
去 MySQL 官方下载对应版本的 MySQL Connector/ODBC
-
版本匹配:
-
Excel 32 位 → ODBC 32 位驱动
-
Excel 64 位 → ODBC 64 位驱动
-
如果 Excel 在你本地 PC,而要访问 RDS 内网,那是 不行的,因为内网地址不能从外网访问,这种情况需要:
-
在 ECS 上装一个中转(如 VPN、端口转发、堡垒机)
-
或直接用公网连接(回到你之前的公网方案)
4️⃣ 配置 ODBC 数据源
跟公网连接类似,只是 Server 填 RDS 内网地址,用户名、密码、端口和数据库名保持一致。
5️⃣ Excel 连接
-
Excel → 数据 → 获取数据 → 从其他源 → 从 ODBC
-
选择你在 ECS 上配置的 ODBC 数据源
-
选择表或执行查询
三、本地电脑上的 Excel 想连 ECS 内网数据库

本地电脑上的 Excel 想连接到 ECS 内网数据库(RDS MySQL),默认是直接不行的,因为 ECS 内网和 RDS 内网都在阿里云 VPC 内,本地 PC 没法直接访问 VPC 网络。
要实现,你需要 打通本地和阿里云 VPC 网络,常见有三种办法:
1️⃣方案 1:开公网访问
思路:把 RDS 公网打开,让本地 Excel 直接用公网 IP 连接(和你最开始那种方式一样)
-
优点:配置简单
-
缺点:安全性低(公网暴露端口)
-
做法:
-
在 RDS 控制台开启公网地址
-
白名单加上本地 IP
-
Excel 走 ODBC 公网连接
-
2️⃣方案 2:ECS 做中转(推荐)
思路:ECS 能连 RDS 内网,你本地 Excel 先连接 ECS,再由 ECS 转发流量到 RDS
-
方式:
-
SSH 端口转发
ssh -L 3306:<RDS内网地址>:3306 user@<ECS公网IP>然后 Excel 连接
127.0.0.1:3306 -
搭建 VPN(ECS 做 VPN Server,把你本地电脑加入 VPC)
-
OpenVPN / SoftEther / StrongSwan 等
-
-
3️⃣ 方案 3:阿里云 VPN 网关 / 专线
思路:购买阿里云 VPN 网关,把本地电脑(或办公室网络)接入阿里云 VPC
-
优点:安全稳定,适合公司环境
-
缺点:需要付费
-
做法:
-
购买 VPN 网关
-
配置客户端接入
-
本地直连 RDS 内网地址
-
建议如果只是临时用,可以直接用 方案 2 的 SSH 端口转发,一分钟就能搞定,不改 RDS 设置,也不会暴露公网端口。
四、本地电脑上的 Excel 想连 ECS 公网RDS MySQL数据库

重点要确保 公网访问权限、白名单、驱动匹配 都设置正确
1️⃣ 开启 RDS 公网访问
-
登录阿里云 RDS 控制台 → 找到你的实例 → 基本信息
-
如果“公网地址”处显示
未开通,点击 申请公网地址。 -
记下公网地址和端口(默认 3306)。
2️⃣ 配置白名单
-
RDS 控制台 → 数据安全性 → 白名单设置
-
添加你本地电脑的公网 IP(可在浏览器搜索 “我的IP” 获取)
203.0.113.25 -
如果 IP 经常变,可以临时用
0.0.0.0/0测试(不推荐长期使用)。
3️⃣ 本地测试连接
在你本地命令行(Windows PowerShell / macOS 终端)运行:
mysql -h <RDS公网地址> -P 3306 -u <用户名> -p
-
如果能登录,说明网络和权限正常,可以继续 Excel 设置
-
如果不通:
-
检查白名单
-
确认防火墙没拦 3306
-
确认 RDS 状态正常
-
4️⃣ 安装 MySQL ODBC 驱动
-
下载 MySQL 官方 MySQL Connector/ODBC
-
安装版本要和 Excel 匹配:
-
Excel 32 位 → ODBC 32 位
-
Excel 64 位 → ODBC 64 位
-
5️⃣ 配置 ODBC 数据源
-
打开 ODBC 数据源管理器(Windows 搜索“ODBC”)
-
系统 DSN → 添加 → 选择
MySQL ODBC 8.0 Unicode Driver(或 ANSI) -
填写:
-
Data Source Name:AliyunRDS
-
Server:RDS 公网地址
-
Port:3306
-
User:数据库用户名(阿里云默认是
user@实例名) -
Password:数据库密码
-
Database:目标数据库名
-
-
点击 Test,确认连接成功后保存
6️⃣ 在 Excel 中连接
-
Excel → 数据 → 获取数据 → 从其他源 → 从 ODBC
-
选择
AliyunRDS -
选择表或编写 SQL 查询 → 导入数据
✅ 常见问题排查
| 报错 | 可能原因 | 解决办法 |
|---|---|---|
| Can't connect to MySQL server | 白名单没加 / 防火墙拦 | 检查白名单、防火墙 |
| Access denied for user | 用户名或密码错误 | 用完整用户名 user@实例名 |
| SSL error | ODBC 默认要 SSL | 在 ODBC 设置里勾选或取消 Use SSL |

被折叠的 条评论
为什么被折叠?



