一、背景
由于业务系统的特殊性,我们需要将MySQL8.0.30主从复制集群部署在客户机房服务器上,且客户对数据库的密码策略要求比较高。 因为官方的8.0.30版本的Docker镜像默认是没有安装validate_password插件的,所以我在主从复制集群安装完成后手动安装validate_password插件。
默认是没有安装validate_password插件的,如下图所示:
总结:Docker安装的mysql是没有validate_password插件的。另外,根据官网介绍,validate_password已经被废弃,未来会被移除。作为替代方案,component_validate_password组件会被启用。
二、动态安装插件
参考官方文档:Password Validation Component Installation and Uninstallation
1、查看MySQL插件目录
如下图所示,validate_password插件已经集成到了插件目录里
2、安装validate_password插件
mysql> INSTALL COMPONENT 'file://component_validate_password';
Query OK, 0 rows affected (0.00 sec)
如下图所示:
三、动态卸载插件
如下所示,则表明卸载成功
mysql> UNINSTALL COMPONENT 'file://component_validate_password';
Query OK, 0 rows affected (0.01 sec)
mysql> show variables like '%validate_password%';
Empty set (0.01 sec)
四、密码策略参数详解
参数详解如下所示:
# 1、validate_password.dictionary_file: 字典文件
# 2、validate_password.length: 密码长度的最小值(这个值最小要是4)
# 3、validate_password.mixed_case_count: 大小写英文字母的最小个数
# 4、validate_password.number_count: 密码中数字的最小个数
# 5、validate_password.policy: 用于控制validate_password的验证策略 0-->low 1-->MEDIUM 2-->strong
# 6、validate_password.special_char_count: 密码中特殊字符的最小个数
说明:如果有兴趣,可以从工具下载中获取下载链接,此工具可帮助你快速了解一个自动化部署工具是如何编写的?
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》