You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django 2.0中配置MySQL?已成功安装mysqlclient

在Django 2.0中配置MySQL的后续步骤

好的,既然你已经成功安装了mysqlclient,接下来咱们一步步把Django和MySQL对接起来:

1. 准备MySQL数据库与权限

首先得确保你已经在MySQL中创建好目标数据库,并且有一个具备足够操作权限的用户(比如能创建、修改表的权限)。如果还没完成,可以通过MySQL命令行执行:

-- 创建支持全字符集的数据库
CREATE DATABASE your_db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建专属用户并授权
CREATE USER 'your_db_user'@'localhost' IDENTIFIED BY 'your_db_password';
GRANT ALL PRIVILEGES ON your_db_name.* TO 'your_db_user'@'localhost';
FLUSH PRIVILEGES;

如果是远程数据库,把localhost换成%或具体IP,同时确保MySQL服务允许远程连接。

2. 修改Django项目的数据库配置

打开项目根目录下的settings.py文件,找到DATABASES配置块,替换掉默认的SQLite配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_db_name',  # 刚才创建的数据库名称
        'USER': 'your_db_user',  # 授权的MySQL用户名
        'PASSWORD': 'your_db_password',  # 用户密码
        'HOST': 'localhost',  # 本地数据库填localhost,远程填对应IP
        'PORT': '3306',       # MySQL默认端口,未修改则保持
        'OPTIONS': {
            'charset': 'utf8mb4',  # 和数据库字符集一致,避免乱码
        },
    }
}

3. 测试数据库连接是否正常

为了避免后续迁移出问题,先验证连接有效性。在项目根目录运行:

python manage.py shell

进入Django Shell后执行以下代码:

from django.db import connection
try:
    connection.ensure_connection()
    print("数据库连接成功!")
except Exception as e:
    print(f"连接失败:{e}")

如果提示成功就继续下一步;若报错,检查用户名、密码、数据库名是否正确,或MySQL服务是否启动。

4. 执行数据库迁移

Django需要创建默认系统表(比如用户、权限相关表),同时自定义模型也需要生成对应数据表。在项目根目录依次运行:

# 生成迁移文件(检测模型变化,生成对应SQL脚本)
python manage.py makemigrations
# 执行迁移,将表创建到MySQL中
python manage.py migrate

执行完成后,登录MySQL就能看到Django创建的一系列表,比如auth_user、django_migrations等。

额外注意事项

  • 确保MySQL服务处于运行状态:Windows可在服务列表查看,Linux用systemctl status mysql检查。
  • 若迁移时出现版本兼容问题,可通过pip show mysqlclient查看版本,Django 2.0要求mysqlclient >= 1.3.13。
  • 避免中文乱码:确认数据库、Django配置的字符集均为utf8mb4(MySQL的utf8实际是utf8mb3,不支持emoji等特殊字符)。

内容的提问来源于stack exchange,提问作者bilard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:59:28