Python 3.6.1+Django 1.11+MySQL 5.7.18 开发环境搭建(mac os)(二)

3 篇文章 0 订阅
2 篇文章 0 订阅

前言

这段时间在做一个基于B/S的信息管理平台,在迪总的安排下,我和文涛同学负责后端的开发。在项目开始就确定了Python+Django+MySQL环境,在几次试验以后确定了版本,采用Python 3.6.1+Django 1.11+MySQL 5.7.18 作为开发环境。本文主要总结该环境搭建的步骤和经验,主要参考了自强学堂廖雪峰的官方网站的教程。

接上一篇的内容,继续总结 MySQL 5.7.18 的安装 和 Django 项目与 MySQL 的连接与测试。


MySQL 5.7.18 的安装

下载

官方下载:https://www.mysql.com/downloads/
官方文档:https://dev.mysql.com/doc/
注意选择MySQL Community Server (GPL) 5.7.18,这里安装的是社区免费版。

安装

安装过程是傻瓜式的,需要记住的是随机生成的密码(这三张图是借的):

这里写图片描述

安装完成后启动MySQL:

这里写图片描述

这里写图片描述

配置环境变量

打开终端,输入mysql 显示:

MacBook-Air:~ ww$ mysql
-bash: mysql: command not found

说明没有找到mysql ,可以去MySQL默认的安装路径/usr/local/mysql/bin/ 找一下mysql ,确定有的话就开始改环境变量:

$ vim ~/.bash_profile

.bash_profile 文件中加入export PATH=${PATH}:/usr/local/mysql/bin ,然后保存退出,在终端执行:

$ source ~/.bash_profile

让改变生效。此时执行mysqlmysqladmin

MacBook-Air:~ ww$ mysql
ERROR 1045 (28000): Access denied for user 'ww'@'localhost' (using password: NO)
MacBook-Air:~ ww$ mysqladmin
mysqladmin  Ver 8.42 Distrib 5.7.18, for macos10.12 on x86_64
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
...

发现命令已经可以使用,第一个命令没有密码被拒绝。

改密码

我们直接改root账户的密码,这里列了三种方法:

$ mysqladmin -u root -p password 123456   #执行后要输入旧密码,还有会被提示不安全

登陆MySQL
mysql> set password for 用户名@localhost=password('新密码')

登陆MySQL
mysql> use mysql;
mysql> update user set password=password('新密码') where user='root' and host='localhost';
mysql> flush privileges;

现在可以用新密码123456 来登录MySQL了:

$ mysql -u root -p
Enter password:     #输入密码,它不会显示出来
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 188
Server version: 5.7.18 MySQL Community Server (GPL)
...
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

登陆成功。简单的SQL语句可以参考自强学堂SQL教程。


Django 项目与 MySQL 的连接与测试

在上一篇中我们已经创建了工程Jerry_site

-  Jerry_site   #项目目录
    -  Jerry_site
         - __init__.py  
         - __pycache__  
         - settings.py  
         - urls.py      
         - wsgi.py  
    -  demo   #app目录
         - __init__.py  
         - migrations   
         - models.py    
         - tests.py 
         - views.py         
    -  manage.py

连接

打开项目目录中的settings.py,注意以下代码段:

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

可以看出,现在用的是sqlite3 这个数据库,为了连接MySQL将代码改为:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'Jerry_DB',   #数据库名
    'USER': 'root',    #用户名
    'PASSWORD': '123456',
    'HOST': '127.0.0.1',
    'PORT': '3306',
    }
}

给项目虚环境安装pymysql组件,注意要进到虚环境venv,是给这个虚环境安装:

(venv) MacBook-Air:Jerry_site ww$ pip install pymysql
Collecting pymysql
  Using cached PyMySQL-0.7.11-py2.py3-none-any.whl
Installing collected packages: pymysql
Successfully installed pymysql-0.7.11

打开Jerry_site/Jerry_site/__init__.py,写入以下代码:

import pymysql
pymysql.install_as_MySQLdb()

现在我们还没有要连接的数据库Jerry_DB,所以在MySQL中创建一下:

mysql> create database Jerry_db;
Query OK, 1 row affected (0.01 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Jerry_db           |
| PROJECT_DB         |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
7 rows in set (0.03 sec)

可以看到我们已经有了数据库Jerry_DB

测试

进入到项目目录Jerry_site/下,执行:

(venv) MacBook-Air:Jerry_site jlwang$ python manage.py dishell
...
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 191
Server version: 5.7.18 MySQL Community Server (GPL)
...
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

看到这个提示,我们顺利进入到数据库命令行,其实已经连接成功,但是我们任然用从其他博客看到的方法来测试一下,任然是在项目目录Jerry_site/下,执行:

(venv) MacBook-Air:Jerry_site ww$ python manage.py shell
Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.db import connection   #在项目终端环境执行以下两句
>>> cursor = connection.cursor()
>>>

结果没有报错,连接成功。


小结

本篇主要总结了MySQL 5.7.18的安装和环境变量配置,还有MySQL与Django 1.11的连接与测试。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值