开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 15 天,点击查看活动详情
开箱即用的 Django 在项目中嵌入了 sqlite 数据库。最少的配置和从 sqlite 存储和检索数据的便利性适用于小规模的 web 应用程序,但是对于大规模的 web 应用程序,sqlite 会导致性能问题。为了避免性能问题,第一步是选择一个能够满足数百甚至数千个同时点击的合适数据库。MySQL 数据库可用于此目的。
在本文中,我将向您介绍连接 Django 与 MySQL 数据库所需的所有必要配置。
设置 MySQL 数据库
第 1 步:创建新模式
打开 MySQL Workbench 并通过单击已连接服务器选项中的创建新模式来创建新模式。
选择合适的模式/数据库名称并按应用。这将创建模式,它将出现在MySQL 工作台的SCHEMAS部分。
在我们的例子中,模式名称是djangodatabase。
第 2 步:为架构创建身份验证用户
模式准备就绪后,创建身份验证用户并向该用户授予权限。
通过运行以下查询创建用户
创建由“12345”标识的用户 dbadmin;
这里 dbadmin 是用户名,12345 是密码。
通过运行以下查询授予权限
将 djangodatabase. 上的所有内容授予 'dbadmin'@'%';*
这里 djangodatabase 是架构/数据库名称。“.*”表示正在授予所有权限,dbadmin 是被授予权限的用户。
为了加载新授予的权限给用户运行以下查询
刷新权限;
这就是 MySQL 配置部分的全部内容。现在让我们转向 Django 项目。
设置 Django 项目
第一步:安装MySQL客户端
可以直接通过pip使用命令安装MySQL客户端
pip安装mysql客户端
如果安装了 MySQL 客户端,那很好,但是此命令在大多数系统上都会出错。我将向您展示另一种安装 MySQL 客户端的方法。
根据 python 版本,从以下网站下载合适的 mysqlclient wheel 文件。
将文件放在项目的根目录中。 在同一目录中打开命令提示符并运行以下命令。
pip 安装 mysqlclient-1.3.13-cp37-cp37m-win32.whl
此处 wheel 文件的名称将根据您的 Python 版本而改变。命令执行后,MySQL 客户端将安装在您的系统上。
第 2 步:更新连接字符串
打开 Django 项目的 settings.py 文件。文件中会有数据库连接字符串,看起来像
更新连接字符串。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangodatabase',
'USER': 'dbadmin',
'PASSWORD': '12345',
'HOST': 'localhost',
'PORT': '3306',
}
}
这里的名称是方案/数据库名称,USER 是 auth 用户,PASSWORD 是 auth 用户的密码。ENGINE、HOST 和 PORT 可以保留默认设置。
第 3 步:进行迁移
现在运行命令
python 管理.py 迁移
这会将所有默认的 Django 表迁移到您的 MySQL 模式。
现在,对模型文件所做的任何更改都将在迁移时反映在 MySQL 模式中。
这就是将 Django Web 应用程序与 MySQL 数据库连接的方式,只需几个简单的步骤。