操作实践之CentOS关于MySQL的安装及密码修改


本文是作者的一个操作实践,本着“知其然知其所以然”的态度,就稍微往里面深挖了一些,希望能对大家有些帮助。

一、安装实践

我用到的环境是:CentOS-7-x86_64-Minimal-2003、MySQL5.7.36、VM14虚拟机、通过 yum 安装

1、安装wget (一个从网络上自动下载文件的自由工具)

命令: yum -y install wget

这是一些安装信息,最后有Complete!(完整的) 就证明安装好了,在linux的环境下很多下载完成后都会显示。

2、通过wget下载MySQL安装包

命令: wget https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm(注意:请选择适合自己的链接,我的Linux是7.4)

可以在下面的官方链接中找到适合的版本:

MySQL :: Download MySQL Yum Repository

查看自己的Linux版本: cat /etc/redhat-release

3、下载好mysql 安装包后可以看到自己根目录多了一个.rpm文件(软件包管理器)

关于rpm文件Linux初学者可以通过以下的链接详细了解一下

RPM(RPM软件包管理器)_百度百科 (baidu.com)

(以上三步就是为了我们的根目录有一个MySQL的软件包管理器,如果你使用了文件可视化工具,那么自己下载一个在复制到根目录下也是可以的。例如:Xftp、WinSCP等工具)

这里我展示的是我的Xftp页面:

4、通过rpm安装MySQL的软件包管理器

命令:rpm -ivh mysql80-community-release-el7-4.noarch.rpm

达到100%后说明你已经成功安装好关于MySQL的软件管理器工具了,在 /etc/yum.repos.d/ 目录下查看会发现多了两个关于MySQL的文件。这个目录存放的都是关于yum的配置文件信息。

并且在 /etc/ 的目录下会有一个 my.cnf文件,不过目前我们并不需要用到它。可以查看一下!

5、设置自己需要的MySQL版本

上面的两个.repo结尾的文件,我们只需要关注 MySQL-community-repo 就好,因为它将决定你安装的MySQL版本。我们先来看看它的内容:

注意画箭头的两个部分是关于安装MySQL版本的,其余都是一些关于数据库使用的工具,没有特殊需求不用动他们。

此时 5.7 的enabled=0, 8.0的enabled=1。说明目前默认安装的是8.0版本。如果需要5.5、5.6版本的话请下载更早之前的rpm文件。(需要8.0的可以直接跳过步骤6)

6、更改自己需要的MySQL版本

使用:vi mysql-community.repo 的命令修改,5.7的enabled=1,8.0的enabled=0。

(修改文件单击字母 i, 然后编辑 ,编辑完成后单击esc,:wq 保存退出 。在设置网卡的时候相信大家应该熟悉编辑文件的操作了。)

修改完成后查看自己的yum关于MySQL的配置信息,命令:yum repolist all | grep mysql

我的5.7版本设置为enabled(允许),8.0设置为disabled(禁止)。建议查看清楚后在进行下面的安装操作,不然删除真的是一件令人头疼的事情。

7、安装MySQL

确认清楚自己需要的版本后通过yum安装MySQL。

命令: yum -y install mysql-community-server

安装时,同样的我们不需要关心其他的操作。只需要看最后是否有一个 Complete! 就好。

8、安装完成后 --启动MySQL服务

首先我们先来熟悉几个命令:(启动/关闭/查看/重启 mysql服务)

命令:service mysqld start/stop/status/restart

这里演示一下启动与查看的命令!

9、登录(在Linux下我们想登录并没有Windows下那么简单)

在Windows下一般我们会修改my.ini配置文件跳过权限登录,然后修改一个简单的密码。重启服务后就可以用新密码登录了。在Linux下同样有一个my.cnf的配置文件。我们也可以同样的跳过权限然后修改一个简单的密码。但是修改完成后却使用不了。这跟Linux下MySQL的密码策略有关。

(1)添加跳过权限语句,使用完后删除掉,不然可能导致数据的丢失。

(2)修改密码为 1111

(3)使用新的密码登录,并进行查询操作:

系统会提示我们使用alter语句重置密码;但是在Windows系统中完成了修改密码的操作后应该是没有问题的啊?那我们就耐着性子根据提示再次修改密码为’123456’

又错了,密码不够安全

为了验证真实性我尝试了四次密码的修改。为什么最后会有一个这么繁琐的密码呢?

因为 在Linux中MySQL5.7的初试密码策略为:长度最低8位,数字最少1位,特殊字符最少1位,英文大小写混合最1位。(可以进行数据库的操作了)。

二、MySQL 密码策略

1、关于数据库密码策略

在修改了符合MySQL要求的密码后,我们终于可以对数据库进行基本操作了。现在我们需要知道为什么必须设置一个这样的密码,在登录了MySQL后输入命令:

show variables like 'validate_password%';

在提前没有任何修改的时候应该跟我图中的一样。现在我们来一次解读每一条参数的含义:

validate_password_policy验证密码策略

validate_password_length验证密码长度

validate_password_check_user_name验证密码为用户名

validate_password_mixed_case_count验证密码混合大小写的长度

validate_password_number_count验证密码数字的长度

validate_password_special_char_count验证密码特殊字符的长度

validate_password_dictionary_file验证密码的字典文件

(对于上述的参数我并没有进行复杂的官方说明,仅仅是翻译了一下,相信有英文基础的同学甚至不需要我的翻译,其实代码的世界就是这样,很多东西仅仅只是需要翻译一边我们就能知道大概了。说这些是希望屏幕前的各位能有一种独立解决问题的思想习惯。说回正题!!!) 细心的同学应该发现我更改了顺序。下面我来解释一下:

以上几条参数中最重要的就是我们的 “验证密码策略” 默认的是 MEDIUM(中等的) ,让我们联想一下就还有 LOW(低级的)、STRONG(强的)。

下面做一下官方的声明:在官方5.7以后的版本中,为了保证数据库用户的安全,设置了三个密码等级,默认是中等的。三个等级分别也可以用0、1、2代替:策略依次为:(0/LOW:只验证长度)、(1/MEDIUM:验证长度、数字、大小写、特殊字符)、(2/STRONG:验证长度、大小写、特殊字符、字典文件)。

解释等级含义后我们就可以来分析参数length、mixed、number、special了,以下都简写有助于我们理解参数

策略为LOW时就只有参数 length 生效,因为这时候密码策略不会检查其他的参数,这是我们可以设置密码长度参数来达到设置简单密码的目的。根据上面的解释我们可以类推策略MEDIUM和STRONG 。同样只需要设置参数后面的数字就可以达到目的。对于剩下的参数:user_name、dictionary_file我们不必过多的理解,下面提供一个官方的链接给感兴趣的同学:

MySQL :: MySQL 8.0 参考手册 :: 6.4.3.2 密码验证选项和变量虽然我使用的数据库版本是5.7,但是下面讲的同样适用于8.0版本,甚至我认为更适合于8.0的版本。

2、密码策略如何实现更改

仔细看完步骤 1 的同学可能会想,那我用set不就可以完成修改密码策略了?

来,我们先试试:set validate_password_policy=0;

很遗憾《《好像不让我们修改,还是来翻译一下:变量验证密码策略是一个全局变量,应该全局修改它。

全局修改??? 别懵 全局修改 不就是 set global 嘛?可能有点搞笑,但是确实是这样的,试试:

set global validate_password_policy=0; alter user user() identified by '1234';

设置策略及长度后 查看密码策略:

3、修改简单密码

修改密码为1~4纯数字:alter user user() identified by '1234';

刷新权限后使用新密码登录:

让我们查看目前的密码策略:

好像成功了。别急,我们试着重启一下:

成功登录了,那么看看现在的密码策略:

居然恢复了中级!!先试试进行基本操作,看看我们是否真的登录成功了》》》

也可以进行基本的操作,那么到目前为止好像都万事大吉了。可能强迫症患者或者严谨的同学们会担心以后会不会出问题。既然这样,那我们不妨直接在my.cnf配置文件中设置:(这里我只添加了两个,其余参数有需要也可以添加,只需要注意密码策略就行)

修改完成后,我重启了mysql服务,登录后查看密码策略

现在为止完全解决了。

4、扩展:MySQL插件(组件)

简单学过MySQL的同学可能并不知道原来我们的数据库也是有插件的(我也刚知道_)

查看安装的插件:select * from information_schema.plugins\G; (最后注意大写,表示将从查询结果按列打印)

这个命令并没有太大的意义,我就不展示图片。但是想一下当你在后面加上条件还是挺有用的。在后面我加上了‘%password%’

最后一个是不是有点眼熟呢?就是我们的密码插件。之前我们由于直接在my.cnf配置文件中修改了密码策略,系统就默认为我们安装了密码插件,不然在刚开始的时候我们的数据库是默认没有安装它的。

5、如何安装插件

如果大家不想跳过这些步骤,想知其所以然。那就请接着看下面安装插件的内容吧!!!

我先以我们的密码插件作为例子,有两种方式:

1、就是在自己的配置文件中添加下面这段话,让数据库初始化加载的时候直到自己需要加载这个插件:

plugin-load-add=validate_password.so (Linux中文件后缀名是.so,Windows是.dll)

2、直接安装 INSTALL PLUGIN validate_password SONAME 'validate_password.so';

注意: 安装完成后使用查询语句查看是否安装成功。其实用show也行。 当你想要安装其他软件的时候,知道他们的名字也可以用类似的方法。

(这篇官方文档介绍的十分详细,请耐心阅读下去:

MySQL :: MySQL 5.7 参考手册 :: 5.5 MySQL 服务器插件)

6、linux下MySQL的一些路径

在没有图形化操作的界面,我想很多人觉得能装上去就不错了(_),哪里还管它往哪装。但是现在可以回过头来看看他们到底都在哪个地方:

1、数据库的目录 : /var/lib/mysql/

2、插件的目录: /usr/lib64/mysql/plugin

3、配置文件我想就不用多讲了吧 ,但是有一点需要注意,如果/etc/找不到的话 可以在/usr/local/mysql里面找找,这应该是比较老的版本才会发生的。


https://blog.csdn.net/weixin_43227855/article/details/121737670?spm=1001.2014.3001.5501

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容