当前位置: 首页 > web >正文

Excel 连接阿里云 RDS MySQL

阿里云 RDS MySQL 数据库的数据直接在 Excel 里连接读取,但一直连接失败。这种情况大多是 连接参数网络权限驱动配置 这三方面的问题。

目录

一、公网 IP 访问 RDS​编辑

1️⃣ 公网访问条件确认

2️⃣ 安装 MySQL ODBC 驱动

3️⃣ 配置 ODBC 数据源

4️⃣ Excel 连接 MySQL

5️⃣ 常见错误对照表

二、内网 ECS 访问阿里云 RDS MySQL

1️⃣ 条件确认

2️⃣ 测试内网连接

3️⃣ 在 ECS 上安装 MySQL ODBC 驱动

4️⃣ 配置 ODBC 数据源

5️⃣ Excel 连接

三、本地电脑上的 Excel 想连 ECS 内网数据库

1️⃣方案 1:开公网访问

2️⃣方案 2:ECS 做中转(推荐)

3️⃣ 方案 3:阿里云 VPN 网关 / 专线

四、本地电脑上的 Excel 想连 ECS 公网RDS MySQL数据库

1️⃣ 开启 RDS 公网访问

2️⃣ 配置白名单

3️⃣ 本地测试连接

4️⃣ 安装 MySQL ODBC 驱动

5️⃣ 配置 ODBC 数据源

6️⃣ 在 Excel 中连接


一、公网 IP 访问 RDS

1️⃣ 公网访问条件确认

先确保你的 RDS 符合以下条件,否则 Excel 无论怎么设置都连不上:

  1. 已开启公网地址

    • 登录阿里云 → RDS 控制台 → 找到实例 → 基本信息 里要能看到 “公网地址” 和端口(默认 3306)。

    • 如果没有公网地址,需要点击 申请公网连接地址

  2. 白名单已放行本机 IP

    • RDS 控制台 → 数据安全性白名单设置

    • 添加你电脑的公网 IPv4 地址(可在浏览器搜索 “我的IP” 获取),格式例如:

      123.45.67.89
    • 如果经常换 IP,可以加 0.0.0.0/0 先测试(但注意安全)。

  3. 本地能直接连通 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 数据源

  1. 打开 ODBC 数据源管理器(搜索 ODBC)。

  2. 选择 系统 DSN添加 → 选 MySQL ODBC 8.0 Unicode Driver(或者 ANSI)。

  3. 在配置窗口里填写:

    • Data Source Name:AliyunRDS(自定义名字)

    • Server:RDS 公网地址(不是内网地址)

    • Port:3306(或你自定义的端口)

    • User:数据库账号(注意阿里云默认是 xxx@实例名 格式)

    • Password:数据库密码

    • Database:要连接的数据库名

  4. 点击 Test 测试成功后保存。


4️⃣ Excel 连接 MySQL

  1. Excel → 数据获取数据从其他源从 ODBC

  2. 选择刚刚的 AliyunRDS 数据源。

  3. 选择表或执行 SQL 查询,即可导入数据。


5️⃣ 常见错误对照表

错误提示可能原因解决办法
Can't connect to MySQL server on...白名单没加、端口被拦、公网地址没开检查白名单、防火墙、安全组
Access denied for user...用户名/密码错,或没加 @实例名用完整用户名 user@实例名
SSL connection errorODBC 默认要 SSL,RDS 没开在 ODBC 设置里勾选或取消 Use SSL 选项

二、内网 ECS 访问阿里云 RDS MySQL

内网 ECS 访问阿里云 RDS MySQL,那连接方式会和公网不太一样,也能绕开公网的白名单、防火墙等限制,速度和安全性都更好。

1️⃣ 条件确认

  1. ECS 和 RDS 必须在同一个地域(Region)

    • 比如 ECS 在 “华东 1”,RDS 也要在 “华东 1”。

  2. RDS 要有内网地址(默认都有)

    • 登录 RDS 控制台 → 基本信息 → 内网地址(通常是 xxx.mysql.rds.aliyuncs.com)。

  3. ECS 安全组放行 MySQL 端口(默认 3306)

    • ECS 控制台 → 安全组规则 → 入方向规则 → 放行 3306(如果 ECS 只是访问别人提供的 RDS,可以不放)。

  4. 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 连接(和你最开始那种方式一样)

  • 优点:配置简单

  • 缺点:安全性低(公网暴露端口)

  • 做法

    1. 在 RDS 控制台开启公网地址

    2. 白名单加上本地 IP

    3. Excel 走 ODBC 公网连接

2️⃣方案 2:ECS 做中转(推荐)

思路:ECS 能连 RDS 内网,你本地 Excel 先连接 ECS,再由 ECS 转发流量到 RDS

  • 方式

    1. SSH 端口转发

      ssh -L 3306:<RDS内网地址>:3306 user@<ECS公网IP>
      

      然后 Excel 连接 127.0.0.1:3306

    2. 搭建 VPN(ECS 做 VPN Server,把你本地电脑加入 VPC)

      • OpenVPN / SoftEther / StrongSwan 等

3️⃣ 方案 3:阿里云 VPN 网关 / 专线

思路:购买阿里云 VPN 网关,把本地电脑(或办公室网络)接入阿里云 VPC

  • 优点:安全稳定,适合公司环境

  • 缺点:需要付费

  • 做法

    1. 购买 VPN 网关

    2. 配置客户端接入

    3. 本地直连 RDS 内网地址

建议如果只是临时用,可以直接用 方案 2 的 SSH 端口转发,一分钟就能搞定,不改 RDS 设置,也不会暴露公网端口。

四、本地电脑上的 Excel 想连 ECS 公网RDS MySQL数据库

重点要确保 公网访问权限、白名单、驱动匹配 都设置正确

1️⃣ 开启 RDS 公网访问

  1. 登录阿里云 RDS 控制台 → 找到你的实例 → 基本信息

  2. 如果“公网地址”处显示 未开通,点击 申请公网地址

  3. 记下公网地址和端口(默认 3306)。

2️⃣ 配置白名单

  1. RDS 控制台 → 数据安全性白名单设置

  2. 添加你本地电脑的公网 IP(可在浏览器搜索 “我的IP” 获取)

    203.0.113.25
    
  3. 如果 IP 经常变,可以临时用 0.0.0.0/0 测试(不推荐长期使用)。

3️⃣ 本地测试连接

在你本地命令行(Windows PowerShell / macOS 终端)运行:

mysql -h <RDS公网地址> -P 3306 -u <用户名> -p
  • 如果能登录,说明网络和权限正常,可以继续 Excel 设置

  • 如果不通:

    • 检查白名单

    • 确认防火墙没拦 3306

    • 确认 RDS 状态正常

4️⃣ 安装 MySQL ODBC 驱动

  1. 下载 MySQL 官方 MySQL Connector/ODBC

  2. 安装版本要和 Excel 匹配:

    • Excel 32 位 → ODBC 32 位

    • Excel 64 位 → ODBC 64 位

5️⃣ 配置 ODBC 数据源

  1. 打开 ODBC 数据源管理器(Windows 搜索“ODBC”)

  2. 系统 DSN → 添加 → 选择 MySQL ODBC 8.0 Unicode Driver(或 ANSI)

  3. 填写:

    • Data Source Name:AliyunRDS

    • Server:RDS 公网地址

    • Port:3306

    • User:数据库用户名(阿里云默认是 user@实例名

    • Password:数据库密码

    • Database:目标数据库名

  4. 点击 Test,确认连接成功后保存

6️⃣ 在 Excel 中连接

  1. Excel → 数据 → 获取数据 → 从其他源 → 从 ODBC

  2. 选择 AliyunRDS

  3. 选择表或编写 SQL 查询 → 导入数据

常见问题排查

报错可能原因解决办法
Can't connect to MySQL server白名单没加 / 防火墙拦检查白名单、防火墙
Access denied for user用户名或密码错误用完整用户名 user@实例名
SSL errorODBC 默认要 SSL在 ODBC 设置里勾选或取消 Use SSL
http://www.xdnf.cn/news/17655.html

相关文章:

  • 5G 非地面网络(NTN)最专业的方案
  • 高并发场景下分布式ID生成方案对比与实践指南
  • 在 .NET Core 5.0 中启用 Gzip 压缩
  • 从ELF到进程间通信:剖析Linux程序的加载与交互机制
  • 玩转Docker | 使用Docker部署Trilium Notes知识库工具
  • 5G NTN 卫星测试产品
  • word格式设置-论文写作,样式,字号等
  • WPF之绑定!
  • LeetCode——241.为运算表达式设计优先级
  • 在 RHEL9 上搭建企业级 Web 服务(Tomcat)
  • Android Audio实战——获取活跃音频类型(十五)
  • 深度学习与遥感入门(五)|GAT 构图消融 + 分块全图预测:更稳更快的高光谱图分类(PyTorch Geometric 实战)
  • 【数据可视化-86】中国育儿成本深度可视化分析(基于《中国统计年鉴2023》数据):用Python和pyecharts打造炫酷可视化大屏
  • 论文阅读 arxiv 2024 MemGPT: Towards LLMs as Operating Systems
  • Apache IoTDB 全场景部署:基于 Apache IoTDB 的跨「端-边-云」的时序数据库 DB+AI
  • Java 之抽象类和接口
  • SSH远程连接TRAE时显示权限被拒绝检查方案
  • 可视化程序设计(4) - 第一个图形窗口程序
  • Java进阶之单列集合Set接口下的通用方法
  • Linux下的软件编程——标准IO
  • ECharts Y轴5等分终极解决方案 - 动态适配缩放场景
  • 后量子密码学的迁移与安全保障:迎接量子时代的挑战
  • NLP---IF-IDF案例分析
  • FreeRTOS学习:优化系统
  • LeetCode_哈希表
  • 论文阅读:Aircraft Trajectory Prediction Based on Residual Recurrent Neural Networks
  • OpenAI正式发布GPT-5:迈向AGI的关键一步
  • sqllabs——Less1
  • MySQL面试题及详细答案 155道(041-060)
  • ThreadLocal有哪些内存泄露问题,如何避免?