mysql - django + 自带数据库切换MySQL报错

标签 mysql django python-3.x database-connection

你好,我将 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/

相关文章:

java - 从 JAVA (eclipse) 连接到 MySQL (wamp 服务器) 时出现 "The filename, directory name, or volume label syntax is incorrect"错误

Mysql触发器空结果

php - mysql 将表中的 abc 替换为 xyz

javascript - 根据用户输入使用 Javascript 显示图像

python - 在 Python 中向后迭代字典

php - JSON 数据通过 AJAX 到 DIV

javascript - 使用 JavaScript 进行地理位置定位

python - 在创建 Django 记录期间访问主键/id 值

python - 在 Pandas 中使用多重索引时显示所有索引值

python - pip 命令问题 - 命令 "python setup.py egg_info"失败,错误代码为 1 in/private/tmp/pip-build-7n_jim1n/mysql-python/