CentOS部署Django----安装数据库环境
Posted lambs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS部署Django----安装数据库环境相关的知识,希望对你有一定的参考价值。
CentOS部署Django----安装数据库环境
一、mysql环境:
此处安装了MySQL-8.0.11版本,尝尝鲜~
原本在网上搜了几篇简单的教程,不过安装完之后,启动服务器出现了错误:
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
无奈,自己实在解决不了,就全部卸载掉已安装好的,然后按照官网的文档指导进行安装,一次成功!
1、添加MySQL Yum存储库:
(1)先去官网找到你想要安装的Yum储存库页面,找到适合服务器的发行包,下载下来;
(2)将这个发行包上传到服务器,Windows上有很多工具,此处我用的WinSCP;
(3)在发行包所在目录执行命令:# sudo yum localinstall 发行包名字
(4)可以使用命令:# yum repolist enabled | grep "mysql.*-community.*"
查看是否添加成功了
2、开始安装MySQL:
(1)执行命令 # sudo yum install mysql-community-server 即可,会自动全部安装完
3、启动服务器:
(1)# sudo service mysqld start
(2)查看MySQL服务状态
# sudo service mysqld status
4、关于root用户:
(1)首先修改配置文件进行免密登陆mysql,添加skip-grant-tables:
命令:# vim /etc/my.cnf
(2) 重启mysql服务:
命令:# service mysqld restart
(3)进入mysql服务:
使用查询语句:
mysql> select host, user, authentication_string, plugin from mysql.user;
查看host为root的密码字段下是否有内容,有内容更改为空:
mysql> use mysql;
mysql> update user set authentication_string="" where user="root";
(4)退出mysql服务,在进入my.cnf删除掉之前添加的那句话,保存后,重启mysql服务
(5)登陆mysql,给root帐户设置密码:
# mysql -u root -p
mysql> alter user "root"@"localhost" identified by "新密码";
需要注意:8.0版的mysql,密码规则为:包含大小写字母,数字以及特殊符号,缺一不可
5、关于远程登陆:
此处我没有修改root帐户,而是新建了一个新用户:
mysql> create user "xxx"@"%" identified by "password";
mysql> grant all privileges on *.* to "xxx"@"%" with grant option;
用户创建好了,按理说,应该可以使用SQLyog等工具远程连接了,但是报错了
原因是:MySQL-8.0的加密方式和之前的版本不同,这些工具只支持旧版加密方式
解决方法:
修改加密规则:
mysql> alter user "xxx"@"%" identified by "password" password expire never; --->此处"password"为你之前设置的原密码
mysql> alter user "xxx"@"%" identified by mysql_native_password by "password" --->此处的"password"为新密码,规则遵循8.0的密码规则
然后就可以使用xxx这个账号远程登陆了
注意:我使用的是阿里云服务器,默认的开放端口,不存在3306,因此,你需要去管理后台,开启3306端口在防火墙那里,否则远程无法连接,血的教训
以上是关于CentOS部署Django----安装数据库环境的主要内容,如果未能解决你的问题,请参考以下文章
第四百节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装python3.5.1
CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇