Django 的 MySql 配置

-1 python mysql django mysql-python

尝试运行时出现错误

python manage.py migrate

django.db.utils.OperationalError: (1045, "Access denied for user 'someuser'@'localhost' (using password: NO)")
Run Code Online (Sandbox Code Playgroud)

这是我里面的数据库设置setting.py

DATABASES = { 
    'default': { 
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/config/mysql.cnf',
        },
    }
}
Run Code Online (Sandbox Code Playgroud)

配置/mysql.cnf

[客户端]
数据库 = dbname
用户 = root
密码 = passwt
主机 = localhost
默认字符集 = utf8

Raj*_*jez 5

MySql 配置可以在 settings.py 文件中提供,如下所示

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': 'DB_NAME',
    'USER': 'DB_USER',
    'PASSWORD': 'DB_PASSWORD',
    'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
    'PORT': '3306',
    'OPTIONS': {
        'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
        'charset': 'utf8mb4',
    }
} }
Run Code Online (Sandbox Code Playgroud)

如果需要使用外部文件进行配置,以下可能会有所帮助

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'OPTIONS': {
        'read_default_file': os.path.join(BASE_DIR, 'mysql.cnf'),
    }
} }
Run Code Online (Sandbox Code Playgroud)

mysql.cnf文件应该位于项目目录中