Django连接MySQL数据库配置详解
本文详细讲解Django项目中连接MySQL数据库的配置步骤。从修改settings.py中的DATABASES配置入手,解释ENGINE、NAME、USER等关键参数的含义,并指导如何安装mysql-devel及Python驱动(如PyMySQL)。最后通过命令行验证配置是否成功,帮助开发者快速打通Django与MySQL的连接。
近期在深入研习Django框架,进展至第五章关于模型(Model)的学习阶段时,涉及到了数据库连接的操作,特此整理并分享具体的配置方法。
起初对于如何配置MySQL数据库感到困惑,幸运的是Django官方文档提供了详细的配置指引,此处直接分享具体的配置方案。
Django默认的settings文件中基础配置通常使用SQLite数据库,若需切换至其他数据库类型,应如何进行设置?
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mydatabase',
}
}
以下是针对MySQL数据库的具体配置代码示例:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
下面对配置代码中各个参数的具体含义进行逐一解析:
ENGINE参数用于指定数据库后端驱动,不同数据库对应的驱动标识不同。常见的数据库ENGINE配置写法如下:
django.db.backends.postgresql # PostgreSQL django.db.backends.mysql # mysql django.db.backends.sqlite3 # sqlite django.db.backends.oracle # oracle
- NAME参数指定目标数据库的名称。若使用SQLite,此处需填写数据库文件的绝对路径。
- USER参数为数据库登录用户名,对于MySQL数据库,通常默认为root。
- PASSWORD参数为登录数据库所需的密码,必须与USER参数指定的用户所对应的密码一致。
- HOST参数指定数据库服务器的地址。鉴于大多数数据库采用C/S(客户端/服务器)架构,需明确服务器位置。若数据库服务器与客户端部署在同一台主机上,通常默认填写127.0.0.1。
- PORT参数指定数据库服务器的端口号,MySQL的默认端口通常为3306。
- HOST和PORT参数均可留空以使用默认配置,但若服务器端口或地址已更改,则必须填入修改后的对应值。
完成上述配置仅是初步步骤,接下来需安装Python连接MySQL数据库的驱动程序。首先需在Shell环境中检查并安装mysql的开发包,运行命令如下:
rpm -qa | grep mysql-devel
若系统中未安装相关依赖,请执行以下安装命令:
sudo yum install mysql-devel #python2.7: sudo pip install MySQLdb #python3.4: sudo pip install PyMySQL
驱动安装完成后,启动Django服务进行测试:
python manager.py runserver
若启动过程中未出现报错信息,说明配置基本正常。此时可在新的Shell窗口中执行以下命令进入交互环境:
python manager.py shell
在交互环境中输入以下代码以测试数据库连接:
from django.db import connection cursor = connection.cursor()
若执行上述代码未报错,则表明MySQL数据库连接配置成功,此时可正常使用Django的数据库功能。
以上内容为本文的全部分享,希望能为读者的学习提供有益帮助,同时也欢迎大家继续支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









