MySql Django 的配置

MySql configuration for Django

尝试 运行

时出现错误

python manage.py migrate

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

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

DATABASES = { 
    'default': { 
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/config/mysql.cnf',
        },
    }
}

config/mysql.cnf

[client]
database = dbname
user = root
password = passwt
host = localhost
default-character-set = utf8

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

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',
    }
} }

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

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

mysql.cnf 文件应该在项目目录