Django 连接MySQL的驱动设置
对于在Django 中连接MySQL 的驱动,有以下三种:
1) mysqlclient
2) mysql-connector-python
3) pymysql (建议:这个包已经有一年未升级了,本人不建议使用)。
下图是django 官方文档对mysql 的驱动的说明:
现对这2个驱动,做下实验:
环境:
PC1 centos7 mysql8.0.17
PC2 centos7 python3.7.4, pycharm 社区版
一. mysqlclient 的安装:
(注意:mysql8.0 的密码加密方式是:caching_sha2_password, 而不是 5.5, 5.6, 5.7 版本的 mysql_native_password。 所以,mysqlclient 暂时只能连接mysql8.0 以下的版本)
A. 针对不同版本的linux, 可以参考: https://pypi.org/project/mysqlclient/ 本文以centos系统为例。
B. 安装依赖包: yum install python-devel python3-devel mysql-devel
C. 安装mysqlclient 包: pip install mysqlclient
D. 创建一个Django 的项目。修改其setting 文件:
E. 然后生成迁移文件,并执行迁移程序。
python manage.py makemigrations
python mangage.py migrate
二. mysql-connector-python 的安装:
这是mysql的官方的驱动包,对于mysql 不同版本的加密方式,不受影响。
A. 安装包: pip install mysql-connector-python
B. 修改Django 项目中的setting文件中的 ENGINE 的配置:
C. 然后生成迁移文件,并执行迁移程序。
python manage.py makemigrations
python mangage.py migrate