Django开发过程中,MySQL数据库的创建和连接

本文详细介绍了如何在Ubuntu 20.04上使用PyCharm为Django项目创建并配置MySQL数据库,包括创建数据库、用户及权限分配,以及在PyCharm中设置数据库。同时,讲解了在代码中配置MySQL,安装连接池模块,调整settings.dev.py文件,并在主应用目录的__init__.py中导入pymysql,确保Django与MySQL的无缝连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何为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 调整项目中的代码
  1. 在项目的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  # 连接池默认创建的链接对象的最大数量
        }
    }
}
  1. 在主应用目录下的__init__.py文件中导入pymysql
import pymysql
pymysql.install_as_MySQLdb()
# 旧版本的django ORM用的都是MySQLdb, 
# MySQLdb不兼容python3,所以采用pymysql解决这个问题
# 为了让django的底层识别pymysql,所以需要进行一下处理

到这里,MySQL数据库的初始化就完成了,可以使用git提交1个版本的代码啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值