Django连接MySQL数据库配置详解

栗子
栗子
发布时间:2026-10-13 | 2人浏览过
原创

本文详细讲解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的数据库功能。

以上内容为本文的全部分享,希望能为读者的学习提供有益帮助,同时也欢迎大家继续支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表