Django 配置 MySQL 数据库主要有以下两种方法:
直接在settings.py
文件中添加数据库配置信息
1、安装 MySQL 驱动:推荐使用mysqlclient
,可通过以下命令安装:
普通安装:pip install mysqlclient
。
如果使用豆瓣源安装:pip install -i https://pypi.douban.com/simple mysqlclient
。
若安装mysqlclient
报错,则需要先安装其依赖default-libmysqlclient-dev
,对于 Ubuntu 系统,可执行以下命令:
sudo apt update
更新软件包列表。
sudo apt install default-libmysqlclient-dev
安装依赖。
2、配置数据库连接信息:打开 Django 项目的settings.py
文件,找到DATABASES
配置项,修改为如下内容(以连接到本地 MySQL 数据库为例):
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 数据库引擎 'NAME': 'your_database_name', # 数据库名称 'USER': 'your_database_user', # 数据库登录用户名 'PASSWORD': 'your_database_password', # 密码 'HOST': 'localhost', # MySQL服务器地址,本地一般为 localhost 'PORT': '3306', # MySQL端口号,默认为 3306 } }
your_database_name
、your_database_user
、your_database_password
需替换为你实际的数据库名称、用户名和密码。
将数据库配置信息存到一个文件中,在settings.py
文件中将其引入
1、创建数据库配置文件:新建一个名为my.cnf
(名字可随意)的文件,内容如下:
[client] database = your_database_name user = your_database_user password = your_database_password host = localhost port = 3306 default-character-set = utf8
同样需要将其中的数据库名称、用户名、密码等信息替换为实际值。
2、 settings.py
文件中的DATABASES
配置项中进行如下设置:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'OPTIONS': { 'read_default_file': 'path/to/your/my.cnf', # 这里填写 my.cnf 文件的绝对路径或相对路径 } } }
完成上述配置后,还需要进行数据库迁移操作,以将 Django 模型应用到数据库中,进入项目根目录,运行以下命令:
python manage.py makemigrations
:根据项目中的模型创建数据库迁移文件。
python manage.py migrate
:执行数据库迁移,将模型应用到实际的数据库中。
1、问题:安装mysqlclient
时出现权限错误怎么办?
解答:如果在安装mysqlclient
时遇到权限错误,可以尝试使用管理员权限运行命令提示符或终端,然后再执行安装命令,在 Windows 系统中,右键点击命令提示符图标,选择“以管理员身份运行”;在 Linux 或 Mac 系统中,可以使用sudo
命令提升权限,如sudo pip install mysqlclient
。
2、问题:配置好数据库后连接失败,提示 “Can’t connect to MySQL server on ‘localhost:3306’ (10061)” 错误怎么办?
解答:这可能是由于 MySQL 服务未启动或者防火墙阻止了连接,检查 MySQL 服务是否已启动,可以通过以下命令查看(以 Windows 系统为例):
打开命令提示符,输入netstat -an | findstr 3306
,如果看不到与端口 3306 相关的监听信息,则说明 MySQL 服务未启动,此时可以打开“服务”管理器,找到 MySQL 服务并启动它,如果是防火墙问题,可以将 MySQL 的端口添加到防火墙的信任列表中,允许其通过防火墙进行通信。