You need to enable JavaScript to run this app. Python Flask项目部署Ubuntu服务器对接MySQL报500错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Python Flask项目部署Ubuntu服务器对接MySQL报500错误如何解决

问题根因

从给出的Apache错误日志可直接定位两个问题:

  1. 部署项目的Ubuntu服务器上,mod_wsgi对应的Python运行环境未安装MySQL连接依赖包
  2. dbconnect.py代码存在语法错误
解决方案
  • 安装MySQL连接器依赖
    优先确认服务器上mod_wsgi绑定的Python版本,执行对应安装命令:
    若使用系统默认Python3:pip3 install mysql-connector-python
    若项目使用独立虚拟环境,先激活对应虚拟环境后再执行上述安装命令,需保证安装依赖的Python路径和mod_wsgi配置中指定的Python路径完全一致,避免多版本Python导致的依赖找不到问题。
  • 修复dbconnect.py代码错误
    现有代码导入的模块命名空间为mysql.connector,调用时缺少前缀导致执行会抛出未定义错误,修改后代码如下:
    import mysql.connector
    
    def connection_db():
        conn1 = mysql.connector.connect(host="localhost",
                                        user = "root",
                                        passwd = "pass",
                                        db = "db")
        c1 = conn1.cursor()
        return c1, conn1
    
  • 重启服务生效
    所有修改完成后执行命令重启Apache服务:systemctl restart apache2,重新访问页面验证即可。
额外安全提示

不要在业务代码中硬编码数据库明文账号密码,生产环境建议通过环境变量或者权限受限的独立配置文件读取配置,同时不要使用root账号作为业务连接数据库的账号,按需分配数据库账号的最小操作权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 11:30:03