本文转载自:https://blog.csdn.net/qq_39714045/article/details/109877808?
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数据库安装
二、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