我正在设置我的第一个非托管 vps(ubuntu 20.4)并按照文档将我的 django 站点连接到 mysql 服务器“https://www.digitalocean.com/community/tutorials/how-to-create-a- django-app-and-connect-it-to-a-database"
能够设置
现在转移到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吗? "
最佳答案
使用 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/