Django数据库连接默认为SQLite3,打开setting.py可以看到数据库部分的配置如下:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}

即若不修改的话会自动在当前项目下生成文件名为db.sqlite3的SQLite数据库,若想改变数据库连接为MySQL只需修改DABASES部分的配置即可:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': <database host>,
'PORT': <database port>,
'NAME': <database name>,
'USERNAME': <database username>,
'PASSWORD': <database password>,
}
}

假如我在本机有个名为icebug_db的数据库,端口使用默认的3306,数据库用户名为icebug,密码为icebug_passwd,则配置如下:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': 'localhost',
'PORT': 3306,
'NAME': 'icebug_db',
'USERNAME': 'icebug',
'PASSWORD': 'icebug_passwd',
}
}

配置好了之后保存,若你的机子上没有安装MySQLdb库的话到这一步还不算结束,因为Django连接MySQL数据库用的是MySQLdb库来连接的,那么下一步就是自己就是安装MySQLdb库咯。

由于我是使用的虚拟环境来搭建的,故自然是没有这个库的啦,运行然后就会看到如下的错误,提示没有名为MySQLdb的模块:



注意

直接使用pip install MySQLdb是不能安装成功的,具体为什么要用另一个名字这个得考究一下....安装MySQLdb,pip的正确打开方式为:

pip install MySQL-python

但是到这一步还是不一定会成功的,因为安装MySQL-python又需要依赖系统中其他的库,若没有安装的话会出现如下的报错:

提示mysql-config没有找到......到这一步是不是感到有点蛋疼?不要慌~~mysql-config没有找到那说明是缺少mysql开发库

安装MySQL开发库:

icebug@localhost:~$ sudo apt-get install libmysqlclient-dev

注意:

安装libmysqlclient-dev的同时另外两个库也会一同安装mysql-common libmysqlclient18

另外还需要安装的两个库为python-dev, python-pip

icebug@localhost:~$ sudo apt-get install python-dev python-pip

欧耶~

Django基础 - 修改默认SQLite3数据库连接为MySQL的更多相关文章

  1. Django ModelForm修改默认的控件属性

    Django 中利用ModelForm 可以快速地利用数据库对应的Model 子类来自动创建对应表单. 例如: from django.db import models from django.for ...

  2. Django视图之ORM更改数据库连接——配置MySQL库

    Django中创建app01应用 python manage.py startapp app01 1. 首先安装pymsql模块 # Python3中 pip3 install pymysql 在 p ...

  3. Django基础篇(二)与mysql配合使用

    需求:模拟实现学员管理系统.<*_* 从基础做起> 表结构如下: 班级/学生/老师 班级表: id     title 1       xx 2 xx 学生表: id    name    ...

  4. MySql 5.7安装(随机密码,修改默认密码)两个坑

    MySql 5.7安装(随机密码,修改默认密 下载了MySql 最新版本,安装的过程中,发现了很多新特性 1.data目录不见了 在进行my-default.ini配置的时候 (需要配置 # base ...

  5. MySQL修改默认字符集

    今天朋友在做某个程序项目时,需要修改MySQL修改默认字符集,搞不好找我帮忙.百度了试了好几篇博文中的方法,最后终于成功了.但是感觉那些博文思路有点乱,所以自己总结下,希望可以帮到遇到同样问题的人. ...

  6. Win7安装mysql数据库、修改默认密码

    学习和使用myslq数据库半年时间,mysql对于每一个开发人员都不会陌生.今天对电脑重装系统,为了方面测试在个人PC上安装了mysql数据库.以一下是整个安装过程. 一.下载mysql 1.首先需要 ...

  7. MySQL、MariaDB修改默认字符集

    修改2017.4.9: 最近在使用MariaDB,遇到了同样的问题:中文乱码.因为mariadb他有好几个ini文件,但是可以根据自己开发需要创建一个my.ini,然后我试着去修改mariadb安装目 ...

  8. MySQL之修改默认引擎和字符集

    一.数据库引擎 1.1 查看数据库引擎 mysql> show engines; +--------------------+---------+------------------------ ...

  9. MySQL修改默认编码 utf8

    修改liunux下MySql默认编码 1安装mysql后,启动服务并登陆,使用status m命令发现mysql的编码并不是 utf8! mysql> status; 2关闭mysql 服务: ...

随机推荐

  1. CentOS 7安装zabbix-2.4.8监控

    说明: 操作系统:CentOS 7 Web环境:Nginx+MySQL+PHP zabbix版本:zabbix-2.4.8.tar.gz 备注:Linux下安装zabbix需要有LAMP或者LNMP运 ...

  2. Python实现类似JavaScript 的Json对象

    Python实现类似JavaScript 的Json对象 用过js的都知道 js中json也是一个对象,所以可以直接通过class.attr 取值,当attr不存在时也不会报错,那么Python可不可 ...

  3. boost::asio::deadline_timer(理解)

    并发与并行: 并发和并行从宏观上来讲都是同时处理多路请求的概念.但并发和并行又有区别,并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔内发生. 1.Timer.1 - 使 ...

  4. 利用solr实现商品的搜索功能

      后期补充: 为什么要用solr服务,为什么要用luncence? 问题提出:当我们访问购物网站的时候,我们可以根据我们随意所想的内容输入关键字就可以查询出相关的内容,这是怎么做到呢?这些随意的数据 ...

  5. Kubernetes PV/PVC使用实践

    转载于https://www.cnblogs.com/ericnie/p/7733281.html   pv,pvc的概念不解释了,之前在registry中已经使用过PV和PVC,现在想把WebLog ...

  6. R语言:克里金插值

    基于空间自相关,R语言克里金插值 library(gstat) Warning message: In scan(file = file, what = what, sep = sep, quote ...

  7. Hadoop生态圈-桶表和分区表

    Hadoop生态圈-桶表和分区表 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  8. day11 细节记忆

    单一职责:一个方法只做一件事. 值传递——java只有值传递. gender(性别) male(男)female(女) 自动生成的set.get方法中,布尔类型的get方法需要手工改为get(默认是i ...

  9. nginx配置详情(总结)

    Nginx简介 Nginx是一款开源代码的高性能HTTP服务器和反向代理服务器,同时支持IMAP/POP3/SMTP代理服务 Nginx工作原理 Nginx由内核和模块组成,完成工作是通过查找配置文件 ...

  10. [USACO07NOV]挤奶的时间Milking Time

    https://daniu.luogu.org/problemnew/show/2889 按右端点从小到大排序后DP dp[i] 到第i个时间段的最大产奶量 不能按左端点排序,第i段由第j段更新时,第 ...