Python3和Django如何支持MySQL和MariaDB数据库

原文地址:http://www.server110.com/mariadb/201404/10020.html

首先,[email protected] 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。

首先据MySQL文档[3]说,自从MySQL Connector/Python 1.1.1 开始,引入了 mysql.connector.django ,可直接作为 Django 的数据库引擎使用,但是我试了1.1.2和1.1.3后发现,根本不是那么回事[4]。

后来,发现了 PyMySQL[1] ,支持Python3 ,google后知道如何与 Django 结合使用[2],答案如下:

首先,安装PyMySQL

for Windows

for Fedora

pip-python3 install PyMySQL


pip-python3 install PyMySQL

然后,在 Django 站点的 __init__.py 文件中添加如下两行:

import pymysql

pymysql.install_as_MySQLdb()


import pymysql

pymysql.install_as_MySQLdb()

最后是数据库的配置(在settings.py)

DATABASES = {
    ‘default‘: {
        ‘ENGINE‘: ‘django.db.backends.mysql‘, #数据库引擎
        ‘NAME‘: ‘test‘,                       #数据库名
        ‘USER‘: ‘root‘,                       #用户名
        ‘PASSWORD‘: ‘root‘,                   #密码
        ‘HOST‘: ‘‘,                           #数据库主机,默认为localhost
        ‘PORT‘: ‘‘,                           #数据库端口,MySQL默认为3306
        ‘OPTIONS‘: {
            ‘autocommit‘: True,
        },
    }
}


DATABASES = {

‘default‘: {

‘ENGINE‘: ‘django.db.backends.mysql‘, #数据库引擎

‘NAME‘: ‘test‘,                       #数据库名

‘USER‘: ‘root‘,                       #用户名

‘PASSWORD‘: ‘root‘,                   #密码

‘HOST‘: ‘‘,                           #数据库主机,默认为localhost

‘PORT‘: ‘‘,                           #数据库端口,MySQL默认为3306

‘OPTIONS‘: {

‘autocommit‘: True,

},

}

}

然后同步数据库:

for Windows

for Fedora

OK, It works!

时间: 2024-08-11 01:35:12

Python3和Django如何支持MySQL和MariaDB数据库的相关文章

No module named 'MySQLdb' python3.6 + django 1.10 + mysql 无法连接

学习python 连接mysql数据库的时候遇到了问题 首先安装mysql: 工具栏 ===>file ==> default settings==>Project Interpreter ==> 点击右侧的+ 号==>pymysql==>OK (1) 进入 settings.py==> DATABASES = { 'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'pymysql_test','US

180多个数据库版本一键切换,PHPWAMP8.8.8.8(支持切换任意数据库,全面支持mysql等常见数据库)

PHPWAMP8.8.8.8版本支持一键切换数据库的PHP集成环境,纯绿色 支持切换任意数据库,默认全面支持mysql等常见数据库) 最新最旧版本的数据库都可以切换,同时运行不同版本的数据库! 完美兼容任何集成环境,多开,群开无压力,满足各种变态测试! 只需点击相关设置,切换你想要的任意版本即可,真正的一键自定义! 在一键自定义同时,完美兼顾用户的自主修改,各种DIY自定义 1.支持一键自定义设置MYSQL版本,180多个MYSQL历史版本随意切换! 2.优化旧版本的"700多个PHP版本随意切

python3使用Django框架连接mysql(python3+Django+MySQL+pymysql)

改掉系统默认的sqlite3数据库, # Database# https://docs.djangoproject.com/en/1.10/ref/settings/#databases DATABASES = { 'default': {# 'ENGINE': 'django.db.backends.sqlite3', 'ENGINE': 'django.db.backends.mysql',# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'NA

Linux下安装Python3的django并配置mysql作为django默认数据库(转载)

我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包. yum install mysql mysql-devel #为了测试方便,我们需要安装sqlite-devel包 yum install sqlite-devel 2  接下来需要安装Python了,因为Python3已经成为主流,所以接下来我们要安装Python3,到官网去下载Python3

基于逻辑卷LVM的MySQL、mariadb数据库备份还原详细实现

前提是数据库的数据是放在逻辑卷上的: 数据库数据和日志分开存放:正常情况下数据和日志是放在两个独立的磁盘上,如果是raid的话,那么就无所谓了. 创建分区:         [[email protected] ~]$fdisk /dev/sda         Command (m for help): n         All primary partitions are in use         Adding logical partition 6         First sec

自动备份mysql和mariadb数据库

shell脚本 #!/bin/bash mysql_user="123456" #数据库用户名 mysql_pwd="123456" #数据库密码 mysql_name="123456" #需要备份数据库的名称 BackName="mysql" #数据库保存名称,格式:mysql-2017-12-18.sql BackPath="/mysql-backup" #数据库备份路径,如果为空,备份路径为脚本路径

MYSQL数据库和mariadb数据库区别

在我们安装数据的时候选择mysql还是mariadb数据库呢,mysql之前是免费的,之后被太阳公司收购了之后,开源码推出社区版的mysql 就是mariadb 跟mysql一样,由社区维护. 安装mariadb yum install mariadb-server mariadb mariadb数据库的相关命令是: systemctl start mariadb #启动MariaDB systemctl stop mariadb #停止MariaDB systemctl restart mar

Linux安装配置MariaDB数据库全程详解

MariaDB在很多方面强于MySQL,在Linux下如何安装MariaDB数据库成为大家比较头疼的一个问题,下面用实例为大家讲解下 MariaDB是采用Maria存储引擎的MySQL分支版本,在很多方面强于MySQL,那么在Linux下如何安装MariaDB数据库呢?下面小编就给大家介绍下Linux安装配置MariaDB数据库的方法. 说明: 操作系统:CentOS 5.10 32位 MariaDB版本:mariadb-5.5.33a MariaDB数据库存放目录:/data/mysql 准备

python3下django连接mysql数据库

1.安装pymysql pip install pymysql 有一点需要注意,有的系统(比如ubuntu16.04)同时安装了python2和python3,而比较新的django需要在python3下运行,所以在安装pymysql时可能要使用命令 pip3 install pymysql 进行安装. 2.修改项目settings.py 找到并修改DATABASES为如下形式: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.m