Django在CentOS上安装配置MariaDB+mysqlclient

译者:anxin
日期:2018-01-03

Django默认自带了一个轻量级的SQLite实现,那只适合在开发环境中使用,如果要发布部署Django项目到产品环境,还需要为Django配置专门的数据库,如:PostgreSQL,MariaDB,MySQL,MongoDB等。

本教程介绍Django如何连接MariaDB数据库?Django连接MariaDB数据库,需要安装MariaDB动态链接库的Python实现,在Django官方推荐使用mysqlclient

CentOS上安装MariaDB数据库

关于如何在CentOS上安装MariaDB数据库,查看:在CentOS上安装MariaDB

CentOS上安装mysqlclient

mysqlclient是Python语言连接MariaDB / MySQL的链接库。Python程序可以使用mysqlclient连接到MariaDB / MySQL数据库,实现对MariaDB / MySQL数据库的操作。mysqlclient是MySQLdb1的一个分支,mysqlclient添加了对Python3的支持,并且修复了一些 bug。mysqlclient是用C语言实现的。运行速度比PyMySQL要快一些。

因为mysqlclient是用C语言实现的,所以需要安装 GCC编译器,Python的C语言头文件,MariaDB的C语言头文件。

根据你安装Python,MariaDB时使用的软件源,需要安装相应软件源中的Python,MariaDB的头文件包。因为需要使用头文件,不推荐使用SCL源安装Python,MariaDB。

安装GCC编译器

sudo yum install gcc

安装Python C语言链接库和头文件

1)使用CentOS基本源安装的Python2,那么需要安装python-devel软件包:

sudo yum install python-devel

2)使用EPEL源安装的Python3,那么需要安装python34-devel软件包

sudo yum install python34-devel

3)使用IUS源安装的Python3,那么需要安装python34u-develpython35u-develpython36u-devel软件包

sudo yum install python36u-devel

安装MariaDB C语言链接库和头文件

1)使用CentOS基本源安装的MariaDB,那么需要安装mariadb-devel软件包:

sudo yum install mariadb-devel

2)使用IUS源安装的MariaDB,那么需要安装mariadb100u-develmariadb101u-devel软件包

sudo yum install mariadb101u-devel

3)使用MariaDB官方源安装的MariaDB,那么需要安装MariaDB-devel软件包

sudo yum install MariaDB-devel

安装mysqlclient

如果你使用Python虚拟环境,首先要激活虚拟环境,软后安装mysqlclient

pip install mysqlclient

Django配置使用MariaDB/MySQL引擎

Django使用MariaDB需要把Django的数据库引擎从SQLite修改为MariaDB,在settings.py文件中找到DATABASES配置,修改为如下内容:

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}

其中OPTIONS配置是指向一个文件,在这个文件提供所要连接的数据库,用户名和密码等信息,实例如下:

# my.cnf
[client]
database = NAME
user = USER
password = PASSWORD
default-character-set = utf8
本文链接:/tutorial/django/django-centos-peizhi-mariadb-mysqlclient

本文版权归知站所有,未经站长同意不得转载,谢谢尊重作者劳动成果!