目录

目标密码策略

一、至少一个大写、至少一个小写、至少一个数字、至少一个字符、长度至少9位

1.查看当前配置

2.查看现有插件

3.添加插件

4.密码策略详细配置

5.策略成果测试

二、设置60天密码过期

三、整体变更方案


目标密码策略

目标密码策略:至少一个大写、至少一个小写、至少一个数字、至少一个字符、长度至少9位、60天密码过期。

我的版本号: 5.7.21

一、至少一个大写、至少一个小写、至少一个数字、至少一个字符、长度至少9位

1.查看当前配置

show variables like 'validate_password%';

查了下,我的mysql没密码验证插件

有这个插件的应该是下面这样

 直接在my.cnf配置文件中修改了密码策略,系统就默认为我们安装密码插件,不然在刚开始的时候我们的数据库是默认没有安装密码插件的。

安装插件参考这个:mysql 安装插件 validate_password_舰长115的博客-CSDN博客_mysql 安装插件

2.查看现有插件

查看插件的路径  show variables like 'plugin_dir';

有我需要的“validate_password.so”这个插件

3.添加插件

修改my.cnf

#插件库的文件名是validate_password.文件名后缀根据平台的不同而不同(例如,linux是.so 对于Windows是.dll)。

linux添加:

[mysqld]
plugin-load-add=validate_password.so
#服务器在启动时加载插件,并防止在服务器运行时删除插件。
validate-password=FORCE_PLUS_PERMANENT

重启后查询show variables like 'validate_password%' 结果如下图。

安装了密码插件后也可以直接修改了

--可以使用以下命令进行修改
--密码验证策略低要求(0或LOW代表低级)
set global validate_password.policy=MEDIUM;

--密码至少要包含的小写字母个数和大写字母个数
set global validate_password.mixed_case_count=1;

--密码至少要包含的数字个数。
set global validate_password.number_count=1;

--密码至少要包含的特殊字符数
set global validate_password.special_char_count=1;

-- 密码长度
set global validate_password.length=8;

4.密码策略详细配置

密码策略变量含义:

validate_password.policy:密码策略,检查用户的密码。

0:(Low)密码长度最少8个字符

1:(Mediumpolicy)至少包含1个数字,1个小写字母,1个大写字母和1个特殊字符组成(默认值)

2:(Strongpolicy)长度为4或更长的密码子字符串不得与字典文件中的单词匹配

validate_password.length:需要密码最小字符数,默认为8

validate_password.number_count:需要密码的最小数字字符数,默认为1

validate_password.mixed_case_count:需要密码的小写和大写的最小字符数,默认为1

validate_password.special_char_count:需要密码的特殊字符的最小字符数,默认为1

validate_password.dictionary_file:用于检查密码的字典文件的路径名,默认没有

下面是我的配置:

1个数字,1个小写字母,1个大写字母和1个特殊字符组成,最少9位。

5.策略成果测试

#alter user 'root'@'%' identified by '123456';

二、设置60天密码过期

select * from mysql.user;

N为不过期,Y为过期。默认为N不过期。

将密码设置为过期的语句为:alter user ‘用户名’@‘host’ password expire; 如:

alter user 'root'@'localhost' password expire;

这时候输入

select * from mysql.user;

查看root的password_expired字段已经变为Y,再重新登录时会发现已经连接不上,提示密码过期。解决办法是修改登录密码就可以。

查看网上的说法,可以修改过期的天数(多少天过期),以天为单位,如:

ALTER USER 'root'@'localhost' PASSWORD EXPIRE INTERVAL 30 DAY;

或者修改密码永不过期,如:

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

或这种方式修改密码不过期:

SET GLOBAL default_password_lifetime = 0;

我这里执行:

ALTER USER 'root'@'%' PASSWORD EXPIRE INTERVAL 60 DAY;

执行结果:

三、整体变更方案

分享下最后的变更方案

#----------------
目标密码策略
#----------------
至少一个大写、至少一个小写、至少一个数字、至少一个字符、长度至少9位、60天密码过期。

#----------------
修改root密码过期时间,不需重启
#----------------

主从分别如下步骤执行:
1.更改过期时间
ALTER USER 'root'@'%' PASSWORD EXPIRE INTERVAL 60 DAY;

2.查看执行结果,password_lifetime为60
select * from mysql.user;

#----------------
至少一个大写、至少一个小写、至少一个数字、至少一个字符、长度至少9位,需重启数据库
#----------------

0.

数据库启动顺序
停应用 ->停数据库(先备后主) ->改配置 -> 启数据库(先主后备)-> 启应用
https://blog.csdn.net/qq_41466440/article/details/125104962

1.
停应用

2.
关闭MySQL从库
a.先查看当前的主从同步状态show slave statusG;看是否双yes
b.执行stop slave
c.停止从库服务mysqladmin shutdown -u用户名 -p密码 (service mysqld stop)
d.查看是否还有mysql的进程ps -ef | grep mysql
d.如果部署了多个实例,那每个实例都要按照以上步骤来操作

3.
关闭MySQL主库
a.停止主库服务mysqladmin shutdown -u用户名 -p密码 (service mysqld stop)
b.查看是否还有mysql的进程ps -ef | grep mysql

4.
编辑配置文件
vim /etc/my.cnf
添加:
[mysqld]
plugin-load-add=validate_password.so
#服务器在启动时加载插件,并防止在服务器运行时删除插件。
validate-password=FORCE_PLUS_PERMANENT
#密码策略
validate_password_policy=1
validate_password_length=9

5.
启动MySQL主库
a.启动主库服务mysqladmin start -u用户名 -p密码 (service mysqld start)
b.查看mysql的进程ps -ef | grep mysql

6.
启动MySQL从库
a.启动从库服务mysqladmin start -u用户名 -p密码 (service mysqld start)
b.启动复制start slave;
c.检查同步状态show slave statusG;是否双yes
d.查看mysql的进程ps -ef | grep mysql

7.
查看插件及策略是否添加成功
service mysqld restart
show variables like 'validate_password%';

MySQL5.7 设置密码策略(等保三级密码改造)相关推荐

  1. centos7设置密码策略_Linux系统设置复杂密码策略方法总结

    假设你已经在你的 Linux 系统上使用了 PAM (Pluggable Authentication Modules,插入式验证模块),因为这些年所有的 Linux 发行版都在使用它. 一.准备工作 ...

  2. mysql密码过期设置,mysql5.6.X和mysql8.0.X密码过期策略

    mysql密码过期策略设置 关于mysql5.6.X和mysql8.0.X配置密码过期策略的学习心得 一.mysql5.6.X配置密码过期策略 网上说的方式,但这不适用于低于5.7.4版本 二.mys ...

  3. Centos7等保三级检查命令

    Centos7等保三级检查命令 https://www.toutiao.com/i6951323984977854979/?tt_from=weixin&utm_campaign=client ...

  4. 什么是等保三级?等保三级的认证流程有哪些?

    "等保三级"的概念很多人都听过,但并不知道具体是什么.本文中科三方针对等保三级的概念以及一些技术要求做下介绍. 什么是等级保护? 在认识等保三级之前,首先要了解我国的等级保护.等级 ...

  5. 等保三级,多级等保认证的一点了解

    2022年11月21日10:28:28 信息安全等级保护管理办法 信息系统的安全保护等级分为以下五级: 第一级,信息系统受到破坏后,会对公民.法人和其他组织的合法权益造成损害,但不损害国家安全.社会秩 ...

  6. 详解等保三级7大关键点

    2019年,等保2.0相关的<信息安全技术 网络安全等级保护基本要求>.<信息安全技术 网络安全等级保护测评要求>.<信息安全技术 网络安全等级保护安全设计技术要求> ...

  7. 【等保三级】过等保三级需要哪些设备?大概多少钱?

    过等保三级需要哪些设备?大概多少钱?相信很多企业都比较关心这两个问题,因此我们小编今天专门为大家解答一下,希望对大家有用. 过等保三级需要哪些设备? 1.电子门禁系统 2.机房防盗报警系统以及监控报警 ...

  8. 等保三级安全要求简要攻略-安全通信网络和安全区域边界

    之前有两篇文章写了为什么要做等保测评.等保测评的含义以及等保测评这份工作的一些职责和一些常见的FAQ,没有看过的朋友可以先去看下我的另外两篇文章:一起聊聊等保测评 和 一起聊聊等保测评工作内容以及FA ...

  9. 汕头网络货运平台等保三级的技术要求有哪些呢 甜甜告诉您

    信息安全等级保护,一般做等保的企业都是为了降低信息安全风险,提高信息系统的安全防护能力,或者是满足国家相关法律法规和制度的要求,合理的规避和降低风险.今天我们就来详细说一下,汕头网络货运平台等保三级在 ...

最新文章

  1. script标签的defer属性
  2. 网络互连基础——笔记
  3. 收集几个AS3频谱代码SoundMixer.ComputeSpectrum()
  4. ubuntu下显示文件按数字排序
  5. shell学习之循环命令
  6. FE File Explorer Pro for mac(文件管理器)3.1.1
  7. .Net Log4Net配置多文件日志记录
  8. java 下载junit的jar包_junit jar包下载-Junit4 jar包下载 --pc6下载站
  9. 联想m7216更换墨粉流程图_联想M7216打印机加墨粉后还显示墨粉用完是为什么?...
  10. win10耳机插入电脑里没有声音的新感想
  11. .NET Framework v2.0 Obsolete APIs - 与大家分享
  12. 解决:Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools“
  13. 深度学习笔记~集成方法bagging, boosting和stacking
  14. 西电计科计组期中复习要点
  15. VGGNet网络结构
  16. cocos2d - JS 物理引擎 - chipmunk
  17. Axure仿淘宝搜索原型
  18. 衢州学院计算机应用技术分数线,2021年衢州学院投档线及各省最低录取分数线统计表...
  19. Android Studio调用谷歌浏览器打开网页
  20. 你不知道的JavaScript--Item5 全局变量

热门文章

  1. Android UC浏览器使用痕迹分析
  2. PHP session 防止重复登录
  3. QQ 空间社交广告系统技术架构实践
  4. W ndows32病毒危不危险,现在 Windows 病毒还多吗?
  5. 计算机二级第二十九套excel做法,二级MSOffice真题第9套完整解析.doc
  6. 我想谈一场永不分手的恋爱
  7. api.weixin.qq.com: 未知的名称或服务
  8. 数据库 105道题目整理与吐血总结
  9. Promise和Axios
  10. Google 最新的性能优化方案,LCP 提升30%!