展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

mysql8密码强度评估

  • 修改密码
# 在myslq5.7中修改密码
alter user 'root' identified by 'abcd1234';

# 使用同样的方式在mysql8.0中修改密码则会报错
  • 错误原因
在MySQL 8.0之前,MySQL使用的是validate_password插件检测、验证账号密码强度,保障账号的安全性
  • 解决方案1
# 在参数文件my.cnf中添加参数
[mysqld]
plugin-load-add=validate_password.so
\#ON/OFF/FORCE/FORCE_PLUS_PERMANENT: 是否使用该插件(及强制/永久强制使用)
validate-password=FORCE_PLUS_PERMANENT
  • 解决方案2
# 使用命令安装插件
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
  • 验证是否安装成功
SELECT PLUGIN_NAME, PLUGIN_LIBRARY, PLUGIN_STATUS, LOAD_OPTION
FROM INFORMATION_SCHEMA.PLUGINS
WHERE PLUGIN_NAME = 'validate_password';
  • myssql8的安全策略
MySQL 8.0,引入了服务器组件(Components)这个特性,validate_password插件已用服务器组件重新实现。8.0.25版本的数据库中,默认自动安装validate_password组件
  • 查看
SELECT * FROM mysql.component;
show variables like 'validate_password%';
  • validate_password 组件对应的系统变量说明

  • 修改安全策略

SET GLOBAL validate_password_policy=LOW;
SET GLOBAL validate_password_policy=MEDIUM;
SET GLOBAL validate_password_policy=STRONG;
SET GLOBAL validate_password_policy=0; # For LOW
SET GLOBAL validate_password_policy=1; # For MEDIUM
SET GLOBAL validate_password_policy=2; # For HIGH
set global validate_password_length=1;
  • 密码强度测试
SELECT VALIDATE_PASSWORD_STRENGTH('medium');
SELECT VALIDATE_PASSWORD_STRENGTH('K354*45jKd5');
  • 卸载插件
UNINSTALL PLUGIN validate_password;
  • 卸载组件
UNINSTALL COMPONENT 'file://component_validate_password';
posted @ 2022-06-03 22:20  DogLeftover  阅读(125)  评论(0编辑  收藏  举报