Django+MySQL配置:Windows+Centos

一、Windows环境搭建

1.安装Python3.6+PyCharm2019

这一步略去,网上有很多安装教程(注意:社区版本是无法在PyCharm中直接创建Django项目的,最好安装专业版)

2.配置Django2.0.6环境

在PyCharm中安装Django环境,为了不和去其他的安装环境混合在一起,我们创建一个新的虚拟环境
①Files->settings->Project:XXXX->Project Interpreter->add
在这里插入图片描述

②New environment(选择我们安装的Python环境位置)
在这里插入图片描述

③进入新创建的环境,如图所示(点击右上的加号,进入环境安装中):
在这里插入图片描述
④安装pip10.0.1版本
在这里插入图片描述

Pip也可以直接在命令行中安装,只要进入刚刚安装环境:安装环境目录\Scripts,输入

active

在这里插入图片描述

这样我们就能进入虚拟环境中,便可以进行各种包的安装
在这里插入图片描述

下面是pip10.0.1版本和django2.0.6版本在命令行中的安装过程

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn pip==10.0.1
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn django==2.0.6  

在这里插入图片描述
此外Django和和数据库是有关的,需要安装pymysql

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn pymysql 

在Pycharm安装库查看安装结果,如下图所示:
在这里插入图片描述

3.MySQL数据库安装

Windows下MySQL安装教程

二、Centos环境搭建

1.安装数据库

(参考:https://www.cnblogs.com/weiok/p/5373270.html)
①这里是MySQL YUM源下载地址,该版本为5.7版本

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

在这里插入图片描述

②下载完后就是一个mysql57-community-release-el7-7.noarch.rpm的文件,可以用以下命令查看该文件都包含哪些包

rpm -qpl mysql57-community-release-el7-7.noarch.rpm

在这里插入图片描述

③安装rpm包

rpm -ivh mysql57-community-release-el7-7.noarch.rpm

在这里插入图片描述

④安装完上述包后,查看yum库

yum list Mysql*

就会在yum库里生成以下几个包
在这里插入图片描述

之后就可以用yum安装MySQL了:

yum install mysql-community-server

在这里插入图片描述

这样做的好处在于,可以用yum管理MySQL的包,尤其是可以把MySQL的安装包生成到YUM库里,更多MYSQL的安装方式。(最后出现complete表示成功)

⑤修改数据库密码(参考:https://www.jb51.net/article/116032.htm)
启动mysql

service mysqld start
systemctl start mysqld.service

检查mysql运行状态

service mysqld status
systemctl status mysqld.service

在这里插入图片描述

获取临时密码
为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是:

/var/log/mysqld.log

只有启动过一次mysql才可以查看临时密码使用临时密码登录数据库,密码是上一步得到的临时密码

grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述

修改密码,使用默认密码登录修改
进入MySQL数据库,执行下面语句

mysql -u root -p

在这里插入图片描述

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123'

在这里插入图片描述
密码太简单报错,修改validate_password_policy参数的值
首先,修改validate_password_policy参数的值

set global validate_password_policy=0;// 修改参数的值
set global validate_password_length=1;// 再修改密码的长度

在这里插入图片描述
再次执行修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';

在这里插入图片描述
⑥创建数据库并且授权给其他用户使用

CREATE DATABASE SmartCom;
GRANT ALL PRIVILEGES ON *.* TO 'SmartCom'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;//使修改生效

在这里插入图片描述
⑦授权其他机器登陆(这一步可不加,只开放一个数据库给用户即可)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;//使修改生效

⑧验证服务器数据库权限是否开启,本地要安装MySQL,且已配置好环境(在本地输入下面命令)
在这里插入图片描述

2.Python安装

①安装python依赖包

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel python-devel

在这里插入图片描述

yum install gcc

在这里插入图片描述

②安装python3.6.5

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

在这里插入图片描述

创建软连接

mkdir -p /usr/local/python365
tar zxvf Python-3.6.5.tgz
cd Python-3.6.5

在这里插入图片描述

./configure --prefix=/usr/local/python365
make
make install
ln -s /usr/local/python365/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python365/bin/pip3 /usr/local/bin/pip3
pip3 install --upgrade pip  #更新pip
pip3 install ipython  #安装ipython方便调试

在这里插入图片描述
在这里插入图片描述

3.Django 安装

①安装Django

pip3 install django==2.0.6
ln -s /usr/local/python365/bin/django-admin /usr/local/bin/django-admin

在这里插入图片描述

②执行Django环境
先进行数据库迁移

cd /JustCloud
python manage.py makemigrations 

在这里插入图片描述
会出现如下错误:
在这里插入图片描述
解决办法:

vim /usr/local/python365/lib/python3.6/site-packages/django/db/backends/mysql/base.py

进入文件中,将某部分注销,如下图所示:
在这里插入图片描述
在这里插入图片描述

注释之后继续迁移

python3 manage.py makemigrations//这一步会记录关于model.py的改动
python3 manage.py migrate//把改动作用到指定数据库并在数据库中生成表。

在这里插入图片描述

③让主程序能一直在后台运行指令

nohup python3 manage.py runserver 0.0.0.0:8000 >record.log 2>&1 &

④关闭后台运行的主程序
先查询主程序运行的线程ID

netstat -lnp|grep 00

在这里插入图片描述
然后关闭这个线程,我当前的线程ID是8369,所以我执行下面命令

kill -9 8396

猜你喜欢

转载自blog.csdn.net/qq_39714045/article/details/109877808