当前位置:网站首页>MySQL5.7 设置密码策略(等保三级密码改造)
MySQL5.7 设置密码策略(等保三级密码改造)
2022-07-01 21:47:00 【Ahuuua】
目录
一、至少一个大写、至少一个小写、至少一个数字、至少一个字符、长度至少9位
目标密码策略
目标密码策略:至少一个大写、至少一个小写、至少一个数字、至少一个字符、长度至少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%' 结果如下图。
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.策略成果测试
二、设置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/1251049621.
停应用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 mysql4.
编辑配置文件
vim /etc/my.cnf
添加:
[mysqld]
plugin-load-add=validate_password.so
#服务器在启动时加载插件,并防止在服务器运行时删除插件。
validate-password=FORCE_PLUS_PERMANENT
#密码策略
validate_password_policy=1
validate_password_length=95.
启动MySQL主库
a.启动主库服务mysqladmin start -u用户名 -p密码 (service mysqld start)
b.查看mysql的进程ps -ef | grep mysql6.
启动MySQL从库
a.启动从库服务mysqladmin start -u用户名 -p密码 (service mysqld start)
b.启动复制start slave;
c.检查同步状态show slave statusG;是否双yes
d.查看mysql的进程ps -ef | grep mysql7.
查看插件及策略是否添加成功
service mysqld restart
show variables like 'validate_password%';
边栏推荐
- 【图像分割】2021-SegFormer NeurIPS
- Qtreeview+qabstractitemmodel custom model: the third of a series of tutorials [easy to understand]
- Airserver mobile phone third-party screen projection computer software
- Several ways of writing main function in C
- 【日常训练】66. 加一
- IDA动态调试apk
- MySQL的存储过程
- Relationship and difference between enterprise architecture and project management
- MySQL之MHA高可用配置及故障切换
- QT uses ffmpeg4 to convert the qimage of ARGB to yuv422p
猜你喜欢
随机推荐
Copy ‘XXXX‘ to effectively final temp variable
mysql 学习笔记-优化之SQL优化
【MySQL】explain的基本使用以及各列的作用
Ida dynamic debugging apk
Smart micro mm32 multi-channel adc-dma configuration
LC501. 二叉搜索树中的众数
RestTemplate 远程调用工具类
3DE 资源没东西或不对
多种智能指针
H5 model trained by keras to tflite
linux下清理系统缓存并释放内存
[intelligent QBD risk assessment tool] Shanghai daoning brings you leanqbd introduction, trial and tutorial
微信开放平台扫码登录[通俗易懂]
MySQL learning notes - SQL optimization of optimization
CNN convolution neural network principle explanation + image recognition application (with source code) [easy to understand]
Several ways of writing main function in C
高攀不起的希尔排序,直接插入排序
【c语言】malloc函数详解[通俗易懂]
Clean up system cache and free memory under Linux
互联网的智算架构设计