mysql - 无法连接到 mysql 数据库 ubuntu 20.4 (VPS) "ModuleNotFoundError: No module named ' MySQLdb'"

标签 mysql django ubuntu vps

我正在设置我的第一个非托管 vps(ubuntu 20.4)并按照文档将我的 django 站点连接到 mysql 服务器“https://www.digitalocean.com/community/tutorials/how-to-create-a- django-app-and-connect-it-to-a-database"
能够设置

  • python/django/virtualenv
  • mysql 服务器 - 在我的本地机器上通过 mysql 工作台测试 - 好的
  • apache2 工作正常。能够使用 sqlite3 看到欢迎屏幕。

  • 现在转移到mysql。我尝试了两种方式('ENGINE':'django.db.backends.mysql'和选项文件'/etc/mysql/my.cnf'从django项目连接到mysql服务器。
    没有一个替代方案有效。激活virtualenv,使用安装mysqldb
    a) sudo apt install libmysqlclient-dev default-libmysqlclient-dev
    b)点安装轮
    c) pip install mysqlclient
    尝试迁移时遇到以下错误。尝试了 stakoverflow 上所有可用的选项,我发现它们都不起作用。
    错误:
    "
    (envFusion) worker@server:~/fusion/fusionerp$ python manage.py makemigrations
    回溯(最近一次通话最后):
    文件“/home/worker/fusion/envFusion/lib/python3.8/site-packages/django/db/backends/mysql/base.py”,第 15 行,在
    导入 MySQLdb 作为数据库
    ModuleNotFoundError:没有名为“MySQLdb”的模块
    上述异常是以下异常的直接原因:
    .
    .
    文件“/home/worker/fusion/envFusion/lib/python3.8/site-packages/django/db/backends/mysql/base.py”,第 17 行,在
    提出不当配置(
    django.core.exceptions.ImproperlyConfigured:加载 MySQLdb 模块时出错。
    你安装了mysqlclient吗? "

    enter image description here

    最佳答案

    使用 ubuntu 20.04 时,默认 python 版本是 3.8,使用 3.8 连接到 mysql 有点挑战,所以如果你重新开始,你需要将 python 降级到 3.6 或降级到 ubuntu 18。
    找到了一个使用替代品降级的教程,它奏效了。但是有我需要 python >= 3.7 的其他依赖项。所以我别无选择,只能在 vps 上刷新我的 ubuntu 20.04 并使用 postgres 进行配置。使用 apache2/restframework/redis 的效果比我预期的要好。

    关于mysql - 无法连接到 mysql 数据库 ubuntu 20.4 (VPS) "ModuleNotFoundError: No module named ' MySQLdb'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71760886/

    相关文章:

    php - PDOStatement::execute() 返回 true 但数据未更新

    unix - 须藤路径 - 没有找到 Node.js

    ubuntu - 创建表时出现 HBase 错误

    java - Ubuntu 上的 Files.copy() 抛出 UnixException : No such file or directory even though the file exists

    php - 如何在 leftjoin 中使用多个条件与 laravel5 中的原始查询

    php - 使用 PHP 在 mysql (blob) 中插入 NULL

    MySQL - 获取多个设置的最有效查询?

    django - AWS 应用程序负载均衡器背后的 uWSGI

    python - Django 在之前已设置外键的同一记录中填充值

    python - Gunicorn Django 线程