Django笔记 —— MySQL安装

  最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过。Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧~

  本篇笔记(其实我的所有笔记都是),并不会过于详细的讲解。因此如果有大家看不明白的地方,欢迎在我正版博客下留言,有时间的时候我很愿意来这里与大家探讨问题。(当然,不能是简简单单就可以百度到的问题-.-)

  我所选用的教材是《The Django Book 2.0》,本节是我自己插入的数据库安装步骤,针对不大了解数据库安装的同学。

------------------------------------------------------------------------------------------------------------------------------------------------

0、说明

  为了在Django中使用数据库,需要先安装并设置好,在《The Django Book 2.0》书中,默认大家已经安装好了自己想要使用的数据库,但实际上,并不是所有人都已经了解如何安装的,甚至还很困扰,并且很难查到适合自己的教程(我就是-.-)。

  这里我来说明一下,在Django中使用数据库所需的准备工作。

  首先是安装。我使用的数据库是MySQL,那么,就需要在机器上安装好MySQL,并安装好其服务器和客户端。然后,把MySQL-python这个库安装好,才能在python代码中使用MySQL。

  而后是设置,先要在MySQL中有一个供你使用的用户和数据库(如果没有现成的,就得创建一个)。然后,需要在你的Django工程的settings.py中设置好关于数据库的全部设置,以定位到你所要使用的数据库以及用来使用它的用户。

  最后是使用,只要数据库的服务器在运行,你就可以在Django中按照你之前的设置使用这个数据库了。

  再啰嗦一句,下面的各种命令都是要在终端中输入的,不再赘述。

1、安装MySQL

  我的MySQL版本是5.6.24。(我的全部工作环境配置信息,例如操作系统,已经在 Django笔记 —— 入门简介 中提到过,这里不再赘述)

  想要查看自己机器里有没有的话,就在命令行中输入mysql,有反应就说明有。

  没有的话,也无所谓,下面安装server的时候会自动安装的。

2、安装MySQL服务器和客户端

  sudo apt-get install mysql-server

  sudo apt-get install mysql-client

  如果你之前机器中没有MySQL的话,在你安装server的时候会自动帮你安装,还会让你设置MySQL中的root密码,这在以后的MySQL使用中常常会使用到。

  关于root用户,基本就和Linux的root用户感觉一样,这里简单解释一下。

  使用MySQL时要用某个用户登录进去,每个用户都有自己的权限;而root则是里面最大权限的用户,拥有任何权限,可以管理所有其它用户。实际上,我们使用MySQL时,除了root用户之外,往往还要有另一个普通用户。平时使用时,就用那个普通用户;权限不够时,再上root。这样,可以避免你手一抖删掉不该删的东西~

3、安装MySQL-python

  sudo pip install MySQL-python

  注意大小写别写错了。

注:我在安装这步的时候出了点问题,在此记录一下,仅供参考。

  1、报错:EnvironmentError: mysql_config not found

    解决方案:sudo apt-get install libmysqld-dev

  2、报错:找不到Python.h

    解决方案:sudo apt-get install python-dev

4、在MySQL中创建用户及数据库

  现在你的MySQL已经安装好了,需要在MySQL中创建一个用户和一个数据库供Django使用。

  先教一下用root登录数据库:

    输入mysql -u root -p,然后输入你MySQL的root密码。

    看到 mysql> 就说明你登录进去了,退出命令是exit,MySQL会和你说“Bye”。。

  然后是新建用户:

    1. 用root登录

    2. 创建用户:insert into mysql.user(Host, User, Password) values("localhost", "qiqi", password("nicai"));

    3. 刷新权限表:flush privileges;

    这样就创建了一个名叫qiqi,密码是nicai的用户。这个用户的类型是localhost,即在本地登录的用户。具体内容不多说,学习Django这种用户足够了。

  最后创建一个数据库:

    1. 用root登录

    2. 创建一个数据库:create database django;

    这样就创建了一个名叫django的数据库。

  还没完,最后还要给qiqi使用django这个数据库的权限:

    1. 用root登录

    2. 授予全部权利:grant all privileges on django.* to qiqi@localhost identified by 'nicai';

  至此,你可以用qiqi这个用户直接登录MySQL并操作数据库django了,至于在Django中使用还需要下面的设置:

5、在Django中设置

  打开你Django某个工程中的settings.py,找到 DATABASES 属性,把它设置成这样:

 1 # Database
 2 # https://docs.djangoproject.com/en/1.8/ref/settings/#databases
 3 
 4 DATABASES = {
 5     'default': {
 6         'ENGINE': 'django.db.backends.mysql',
 7         'NAME': 'django',
 8         'USER': 'qiqi',
 9         'PASSWORD': 'nicai',
10         'HOST': '127.0.0.1',
11         'PORT': '3306',
12     }
13

  其中,因为我是在本机上操作的,所以HOST是这个;至于PORT,我是在网上搜索到的,应该是MySQL的默认端口。

  这里注一句,大家看到代码开头那个网址没有?这就是Django对这个参数的说明文档链接。遇到问题,大家一定要善用文档!

6、运行数据库服务器

  你安装好之后,MySQL的服务器每次开机都会自动运行的。所以这点可以略去。

7、尝试使用

  在你刚才改settings.py的工程的根目录下,运行:python manage.py shell

  如果可以正常进入,就说明Django已经可以通过settings.py中的设置定位到你在MySQL中要使用的用户和数据库了。

------------------------------------------------------------------------------------------------------------------------------------------------

  至此,我们应该可以继续Django的学习了。

  关于MySQL的内容,如果以后有机会用到或者大家有需要的话,我或许会写的。现在嘛,继续回归Django的学习。

posted on 2015-05-30 17:18  IceDream61  阅读(1000)  评论(0编辑  收藏  举报

导航