如何在Django项目中配置MySQL数据库?配置后遇mysqlclient安装报错
Django连接MySQL数据库的配置方法及报错解决
解决"Error loading MySQLdb module"报错
方法1:安装mysqlclient(官方推荐)
不同系统的安装操作:
- Windows:直接运行
pip install mysqlclient,如果安装失败,可下载对应Python版本的whl文件,再用pip install 文件名.whl安装。 - macOS:先安装编译依赖
brew install mysql-client,设置环境变量export PATH="/usr/local/opt/mysql-client/bin:$PATH",再执行pip install mysqlclient。 - Ubuntu/Debian:先安装依赖包
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential,再运行pip install mysqlclient。 - CentOS/RHEL:先装依赖
sudo yum install python3-devel mysql-devel gcc,再执行pip install mysqlclient。
方法2:用pymysql替代(无需编译环境)
如果mysqlclient安装失败,可通过pymysql模拟MySQLdb:
- 安装pymysql:
pip install pymysql - 在项目根目录的
__init__.py或settings.py开头添加以下代码:
import pymysql pymysql.install_as_MySQLdb()
Django配置MySQL完整步骤
- 创建MySQL数据库
登录MySQL终端,执行SQL语句创建数据库(示例库名django_db):
CREATE DATABASE django_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 修改settings.py配置
找到DATABASES配置块,替换为以下内容,根据实际情况修改参数:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django_db', # 数据库名 'USER': '你的MySQL用户名', 'PASSWORD': '你的MySQL密码', 'HOST': '127.0.0.1', # 本地数据库填127.0.0.1,远程填对应IP 'PORT': '3306', # MySQL默认端口 'OPTIONS': { 'charset': 'utf8mb4', }, } }
- 执行数据库迁移
配置完成后,运行以下命令创建数据表:
python manage.py makemigrations python manage.py migrate
内容的提问来源于stack exchange,提问作者FATHIMATH SAHALA
相关产品推荐
相关产品推荐

