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. JS的异步

    1.异步 程序中现在运行的部分和将来运行的部分之间的关系是异步编程的核心. 多数JavaScript开发者从来没有认真思考过自己程序中的异步到底是如何出现的,以及为什么会出现,也没有探索过处理异步的其 ...

  2. 【agc019F】Yes or No

    Portal -->agc019F Description 给你\(n+m\)个询问,其中\(n\)个的答案是\(Yes\),\(m\)个的答案是\(No\),现在依次回答这些询问,每回答一个询 ...

  3. day6-python基础

  4. HDU--4705

    题目: Y 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4705 分析:树形dp的思想,枚举中间点. #include<iostream> ...

  5. linux expect 的使用

    expect 可以让一些需要交互的命令自动完成,如 ssh 连接的适合需要输入密码. 也就是说,某些重复的操作我们可以使用该命令完成,比如 ssh 连接到服务器,然后进到某个项目目录,进行 git 的 ...

  6. 003 Python与类C语言的区别(未完)

    #写在前面的话:重点记录Python的特点 Python特点: 1. 无分号断句 2. 不用担心溢出问题 3. if-else的用法不同 #if或else后面都要添加冒号: import random ...

  7. T48566 【zzy】yyy点餐

    T48566 [zzy]yyy点餐 题目描述 yyy去麦肯士吃垃圾食品. 麦肯士有n种单点餐品(汉堡薯条鸡翅之类的).每次选择一种或者以上的餐点,且每种餐点不多于一个的话,可以认为是购买套餐.购买一个 ...

  8. HTML常用标签-<body>内基本标签(块级标签和内联标签)

    HTML常用标签-<body>内基本标签(块级标签和内联标签) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.<hn>系列标签 n的取值范围是1~6,从 ...

  9. 51 nod 1058 N的阶乘的长度

    1058 N的阶乘的长度 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3.   In ...

  10. nginx 跨域配置

    server { listen 80; server_name b.com; location /{ if ( $http_referer ~* (a.com|b.com|c.com) ) { Acc ...