栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【Linux

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Linux

首先我们来解决一下偷懒的问题:数据库简单密码设置 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.pluginsG; (最后注意大写,表示将从查询结果按列打印)

这个命令并没有太大的意义,我就不展示图片。但是想一下当你在后面加上条件还是挺有用的。在后面我加上了‘%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里面找找,这应该是比较老的版本才会发生的。

如何更改他们路径呢?

完结:本篇的内容就到这里,其实本篇我还准备讲讲数据库迁移的内容,但是由于学业的关系,我实在抽不出空做实验,没有做当然讲不好了,后面的内容我将会在休息日补上,还有关于yum,rpm,lrzsz等这些我们经常用到的安装方式。最后,作为一名Linux的初学者,希望我的实验可以帮到大家,也希望大家能够指出我不足的地方。互勉 (^ 0 ^)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/642159.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号