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

Python连接Tableau MySQL数据源遇1049错误求助

解决MySQL未知数据库错误(1049)及Tableau/Python连接问题

错误核心分析

两个工具均抛出Unknown database 'db_name',说明问题并非工具配置错误,而是目标数据库不存在、名称拼写错误,或用户无访问权限。

分步解决方案

  • 确认数据库是否存在
    登录MySQL客户端(如MySQL Workbench、命令行),执行以下命令查看所有数据库:

    SHOW DATABASES;
    

    如果db_name不在列表中,立即创建数据库:

    CREATE DATABASE db_name;
    
  • 检查数据库名称拼写

    • Linux/macOS下MySQL数据库名区分大小写,需确保代码和Tableau配置中的db_name与实际数据库名完全一致(包括大小写)。
    • Windows下不区分,但仍需避免空格、特殊字符等拼写失误。
  • 验证MySQL服务状态

    • Windows:打开「服务」面板,找到MySQL服务,确认状态为「正在运行」,未启动则手动启动。
    • Linux:执行命令检查并启动服务:
      # 检查状态
      systemctl status mysql
      # 启动服务
      systemctl start mysql
      
  • 检查用户权限
    登录MySQL,执行命令查看当前用户对db_name的权限:

    SHOW GRANTS FOR 'user_name'@'localhost';
    

    如果没有db_name的访问权限,执行授权命令:

    GRANT ALL PRIVILEGES ON db_name.* TO 'user_name'@'localhost';
    FLUSH PRIVILEGES;
    
  • 修正Python连接字符串
    你的代码中format包含了host和port参数,但连接字符串未引用,建议修正为完整格式,避免潜在的端口/主机配置问题:

    engine_source = create_engine("mysql+pymysql://{user}:{pw}@{host}:{port}/{db}".format(
        host='localhost', 
        user="user_name", 
        pw="password", 
        db="db_name", 
        port=3306
    ))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 07:33:12