你好,我将 settings.py 中的数据库从默认的 sqlite 更改为 mysql,但遇到了问题。我在 virtualenv 上安装了 mysqlclient、mysql-python,但它不起作用
我的示例数据库连接
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': 'dev.website.eu',
'USER': 'name',
'PASSWORD': 'password',
'NAME': 'database_name',
},
'sqlite': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
当我更改数据库时,终端出现错误
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb
module: libmysqlclient.so.20: cannot open shared object file:
No such file or directory.
Did you install mysqlclient or MySQL-python?
有人知道如何更改该错误吗?如果我将这些数据放入 mysql-connector 中,它就可以工作,但是当我想通过 settings.py 连接时,它就不起作用
最佳答案
首先,如果您不再需要它,请删除:
'sqlite': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
那么,您使用什么版本的Python?
更完整的conf:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '**',
'USER': '***',
'PASSWORD': '***',
'HOST': 'localhost',
'PORT': '5432',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
},
}
}
关于mysql - django + 自带数据库切换MySQL报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45728315/