如何使用Python连接AWS RDS MariaDB实例并读取表为Pandas DataFrame
核心疑问前置解答
- Spyder终端无法识别mysql命令的原因:本地MariaDB/MySQL终端的安装路径未加入Windows系统环境变量Path,和Python/Spyder本身无关,解决方法见后文。
- HeidiSQL没有专属命令:它是纯GUI图形化客户端,你此前在HeidiSQL中使用的所有SQL语句都是标准MariaDB语法,可直接在Python代码中调用。
具体连接操作流程
1. 安装依赖库
打开Anaconda Prompt,执行以下命令安装所需工具:
conda install pymysql pandas sqlalchemy -y
如果conda安装速度慢,也可以用pip安装:
pip install pymysql pandas sqlalchemy
2. 编写Python连接及读取数据代码
提前准备好此前连接HeidiSQL用的核心参数:AWS RDS实例端点、端口(默认3306)、数据库用户名、数据库密码、目标数据库名称,替换到下方示例代码对应位置即可:
import pandas as pd from sqlalchemy import create_engine # 替换为你自己的连接参数 RDS_ENDPOINT = "你的RDS实例端点地址" PORT = 3306 USERNAME = "你的数据库用户名" PASSWORD = "你的数据库密码" DB_NAME = "你要访问的数据库名称" # 创建数据库连接引擎 engine = create_engine(f"mysql+pymysql://{USERNAME}:{PASSWORD}@{RDS_ENDPOINT}:{PORT}/{DB_NAME}") # 编写SQL查询语句,替换为你自己的表名和查询逻辑 sql = "SELECT * FROM 你的目标表名;" # 直接读取数据为Pandas DataFrame df = pd.read_sql(sql, engine) # 可选:关闭连接 engine.dispose() # 验证读取结果 print(df.head())
3. 可选:解决Spyder终端无法识别mysql命令的问题
- 找到本地MariaDB安装目录下的bin文件夹,默认路径通常为
C:\Program Files\MariaDB 版本号\bin - 右键「此电脑」-「属性」-「高级系统设置」-「环境变量」,在系统变量的Path中新增上述bin文件夹的完整路径
- 重启Spyder终端,即可正常识别mysql命令
注意事项
- 确保AWS RDS实例的安全组入站规则已放行你本地设备的公网IP访问3306端口(你此前HeidiSQL可正常连接则无需额外修改)
- 生产环境不要将数据库密码硬编码在脚本中,建议通过环境变量或加密配置文件读取
- 如遇到连接超时问题,优先检查RDS实例是否设置为公网可访问,以及安全组规则是否正确
内容的提问来源于stack exchange,提问作者Controlla22
相关产品推荐
相关产品推荐

