如何为Django项目创建和配置Mysql数据库
操作系统:linux ubuntu20.04
IDE: pycharm
1. 终端连接到mysql,在mysql中为项目创建对应的数据库
此处假设mysql数据库的账号为root, 密码为123
为pcone项目创建一个pcone数据库
mysql -uroot -p123
# mysql8.9/MariaDB10.3以上版本
create database pcone
# 如果使用的mysql数据库版本低于8.0,则需要限定一下编码格式
# create database pcone default charset=utf8mb4;
为该数据库创建用户
这里我们假设用户名:pcone_user,密码为:pcone
主机为任意主机:%表示
# 创建用户:create user '用户名'@'主机地址' identified by '密码';
create user 'pcone_user'@'%' identified by 'pcone'; # %表示任意主机都可以通过当前账户登录到mysql
# 分配权限:grant 权限选项 on 数据库名.数据表 to 'pcone_user'@'%' with grant option;
grant all privileges on pcone.* to 'pcone_user'@'%' with grant option;
# 如果使用的mysql数据库版本低于8.0,则需要刷新一下
flush privileges;
2. 把mysql数据库配置到pycharm
3. 在代码中配置MySQL
3.1 安装连接池相关模块
pycharm终端下安装
pip install django-db-connection-pool
pip install cryptography
3.2 调整项目中的代码
- 在项目的settings/dev.py文件中,进行数据库相关的配置:
DATABASES = {
'default': {
'ENGINE': 'dj_db_conn_pool.backends.mysql',
'NAME': 'pcone',
'PORT': 3306,
'HOST': '127.0.0.1',
'USER': 'pcone_user',
'PASSWORD': 'pcone',
'OPTIONS': {
'charset': 'utf8mb4', # 连接选项配置,mysql8.0以上无需配置
},
'POOL_OPTIONS' : { # 连接池的配置信息
'POOL_SIZE': 10, # 连接池默认创建的链接对象的数量
'MAX_OVERFLOW': 10 # 连接池默认创建的链接对象的最大数量
}
}
}
- 在主应用目录下的
__init__.py
文件中导入pymysql
import pymysql
pymysql.install_as_MySQLdb()
# 旧版本的django ORM用的都是MySQLdb,
# MySQLdb不兼容python3,所以采用pymysql解决这个问题
# 为了让django的底层识别pymysql,所以需要进行一下处理
到这里,MySQL数据库的初始化就完成了,可以使用git提交1个版本的代码啦