点击下面连接查看从零开始搭网站全系列
通过前面6章,我们买好了服务器,配置了服务器连接,服务器上配置了JDK和Tomcat,准备了域名(这个我没教,自己去阿里/百度/腾讯买,买东西我相信大家都是会的),并为域名配上了免费的SSL证书,那么就差最后一步,就能准备开始写项目了,那就是本章的内容----配置Mysql数据库.(至于RabbitMQ啊,Radis啊等等,一方面不是从零开始搭网站到目前为止必须的,前面这些没有是不行的,另一方面是我现在还不会...先一步一步来,要用到了我学学再放教程)
经过前几章的演示,我就默认大家都初步会使用CentOS下最基本的命令号操作了啊,最起码知道怎么复制我的代码放到服务器上跑,所以,我就不再截图了.(主要是博客园mac这有bug,我截图必须得保存到本地,然后再上传,我要是截图直接粘贴在这里,windows下没问题,mac下发布以后打不开,累死了)
因为Mysql被Oracle公司收购后,Linux开源社区的人担心Mysql有必源风险,所以现在Msql不在Linux的默认yum安装集合里了.但是也有办法,按照我下面这个来就行.
1.获取Mysql Yum Repository
在终端输入:
wget -i https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
如果想安装最新版本,请自行去 https://dev.mysql.com/downloads/repo/yum/ 获取最新的下载地址,记得下面安装的语句版本也要改
2.安装 Yum Repository,输入:
yum -y install mysql57-community-release-el7-11.noarch.rpm
3.安装Mysql服务器版本
yum -y install mysql-community-server
4.行了,安装完了,用yum方式安装就三步,贼简单.但是别急,现在只是开始....
启动数据库
systemctl start mysqld.service
5.获取安装时,Mysql给你附送的随机密码
grep "password" /var/log/mysqld.log
这个随机密码这个要记下来记下来,很重要...一会要考,我的是 ?%k5?FyIf5M*
6.一般的教程,这里该叫你修改密码了,我这里当然也是一个一般的教程,所以下一步,先登录
mysql -uroot -p
然后让你输入密码,就是第五步送的密码,你复制你的,粘贴进去,直接回车就行了.不用担心没输上,CentOS里面输密码(大多)都不显示的.
7.修改密码
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘你自己想输啥密码输啥密码‘;
当你信心满满准备按回车修改你的密码的时候,你会发现Mysql无情的阻止了你,并且提示了一行信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
一般的教程到这里就没有了.为啥呢,因为一般的教程,一般时间也都比较早,当时Mysql对你密码没啥限制,你用0000都可以作为密码,现在(大概是5.7以后)Mysql就很过分了,密码必须包含大小写,特殊字符,长度超过12位.所以要么你就用你第五步生成的密码,要么你自己起一个能记住的符合要求的密码,要么你往下看,取消这个限制(当然,这样做安全性上肯定不如原生的强,但是嘛...................不安全就不安全吧...我得能记住...)
8.设置密码强度最低,即可以为纯数字,纯密码
set global validate_password_policy=0;
9.设置密码长度为最短(这里最短也只能为4位,你设1.2.3也都没用)
set global validate_password_length=4;
10.再次修改密码
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘你自己想输啥密码输啥密码‘;
这次就可以成功了,不用谢.别急,没完.
11.还是5.7版本以后,为了安全起见,不仅仅你的密码复杂度,密码长度有了硬性要求,你的密码有效期还有了限制(心好累.jpg),那么我们就继续设置密码为永不过期
ALTER USER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER;
想获得更多信息(比如说要是上面哪些语句又不能用了或者密码又又又哪里不能用了...),来参考这里: https://dev.mysql.com/doc/refman/5.7/en/password-expiration-policy.html
12.你以为现在结束了么...其实还没有,你现在远程你这个服务器地址+3306端口连接你的Mysql,你会发现...还是无法连上,因为现在Mysql默认的是只有本机可以访问数据库...那么我们现在要开放所有的IP都可以访问
这一步实际上是在给连接到Mysql的用户授权,用户名就是下面这个@前的root,密码就是by后面填的密码,将来远程的时候,用户名就是root,密码就是后面自己写的密码.我是怕忘,和第十步是一样的.
grant all privileges on *.* to [email protected]‘%‘ identified by ‘同第十步,你自己想输啥密码输啥密码‘;
执行这一步,有可能还会出现眼熟的第七步出现的提示(如果你密码设的简单的话):
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
那么我们再把8,9再执行一遍,再执行上一句代码就行.
13.保存修改
flush privileges;
14.经历了这么多步,踩平了这么多坑,你以为到这里结束了么?是的,这次是真的结束了...起码我这里经过这一系列的配置,已经完全把开发环境配置好了,准备正式开始开发项目了.下章再见.