[从零开始搭网站七]CentOS上安装Mysql

时间:2023-03-08 17:50:42

  点击下面连接查看从零开始搭网站全系列

  从零开始搭网站

  通过前面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-.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=;

  9.设置密码长度为最短(这里最短也只能为4位,你设1.2.3也都没用)

set global validate_password_length=;

  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 root@'%' identified by '同第十步,你自己想输啥密码输啥密码';

  执行这一步,有可能还会出现眼熟的第七步出现的提示(如果你密码设的简单的话):

  ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

  那么我们再把8,9再执行一遍,再执行上一句代码就行.

  13.保存修改

flush privileges;

  14.经历了这么多步,踩平了这么多坑,你以为到这里结束了么?是的,这次是真的结束了...起码我这里经过这一系列的配置,已经完全把开发环境配置好了,准备正式开始开发项目了.下章再见.