You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用to_sql将DataFrame写入SQL时无法连接MySQL服务器

解决SQLAlchemy连接MySQL失败的问题

核心问题:连接字符串格式错误

你当前的连接字符串mysql+pymysql://myusername:mypassword@3306/task_db存在格式错误——@后面直接写端口号3306,会被SQLAlchemy识别为主机名而非端口,这是导致连接失败的直接原因。

修正后的连接字符串

正确格式需要明确指定本地主机地址(localhost或127.0.0.1),端口号放在主机地址后用冒号分隔:

engine = db.create_engine("mysql+pymysql://myusername:mypassword@localhost:3306/task_db")
# 或使用IP地址
engine = db.create_engine("mysql+pymysql://myusername:mypassword@127.0.0.1:3306/task_db")

其他排查方向

如果修正后仍报错,检查以下几点:

  • 确认MySQL服务正在运行:Windows可通过任务管理器查看,Linux执行systemctl status mysql;未启动则手动启动服务。
  • 验证端口正确性:打开MySQL Workbench查看连接配置,确认端口确实为3306(部分场景下MySQL会被配置为其他端口)。
  • 检查用户权限:确保myusername拥有task_db的访问权限,且允许从本地连接。可在MySQL中执行:
    GRANT ALL PRIVILEGES ON task_db.* TO 'myusername'@'localhost';
    FLUSH PRIVILEGES;
    
  • 兼容版本检查:若SQLAlchemy版本较新,需确保pymysql版本适配,执行以下命令更新到稳定版:
    pip install --upgrade pymysql sqlalchemy
    

内容的提问来源于stack exchange,提问作者Peter M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 10:30:53