【MySQL密码策略查询为空】validate_password 插件安装

在MySQL8.0.29版本中,由于缺少validate_password插件导致无法查看密码策略。通过执行INSTALLCOMPONENT命令成功安装后,可以查询到密码策略的相关变量。

目录

问题说明

环境问题复现

解决方案

安装validate_password 插件


问题说明

        今天在查看MySQL密码策略的时候发生了一个很奇怪的现象,它不返回查询结果,每一次查询都会提示”Empty set, 1 warning (0.00 sec)“,弄了很久很久知道了这个是因为并没有安装 validate_password 插件。

mysql> SHOW VARIABLES LIKE 'validate_password%';
Empty set, 1 warning (0.00 sec)

mysql> Show Variables Like 'validate_password.%';
Empty set, 1 warning (0.00 sec)

mysql> Show global  Variables Like 'validate_password.%';
Empty set, 1 warning (0.00 sec)

mysql> Show global  Variables Like 'validate_pass%';
Empty set, 1 warning (0.00 sec)

环境问题复现

笔者这边使用的是 8.0.29版本,其不具备密码策略查看的插件,具体代码如下所示。

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.29    |
+-----------+
1 row in set (0.00 sec)

解决方案

安装validate_password 插件

根据下面的SQL语句就可以将插件成功的安装到MySQL中,然后就可以查询到密码策略啦!

mysql> INSTALL COMPONENT 'file://component_validate_password';
Query OK, 0 rows affected (0.21 sec)

mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set, 1 warning (0.00 sec)

MySQL 5.6.5版本的离线安装validate_password插件需要您手动下载插件文件并将其解压到合适的目录。以下是离线安装的步骤: 1. **下载插件**: - 访问MySQL官网或者其他可靠的源找到validate_password插件,例如:https://dev.mysql.com/downloads/plugin.html?&file=/Downloads/mysql-connector-python-8.0.24-linux-x86_64.tar.gz 或者直接搜索 "mysql validate_password plugin source" 下载对应版本的tar.gz文件。 2. **解压文件**: 将下载的压缩包(如 `mysql-connector-python-8.0.24-linux-x86_64.tar.gz`)解压到您的本地计算机,通常会得到 `validate_password.so` 文件,这个就是插件文件。 3. **复制插件**: 将 `validate_password.so` 文件复制到MySQL插件目录,通常是 `/usr/lib64/mysql/plugin/` (取决于您的Linux发行版和MySQL安装位置)。如果该目录不存在,需先创建它。 4. **配置MySQL**: 打开MySQL的配置文件(一般位于 `/etc/my.cnf` 或 `/etc/mysql/my.cnf`),找到 `[mysqld]` 部分,在下面添加一行,指定插件路径: ``` plugin_dir = /usr/lib64/mysql/plugin/ ``` 5. **重启MySQL服务**: 通过命令行执行 `sudo service mysql restart` 或 `sudo systemctl restart mysql.service` 以加载新的插件。 6. **验证插件**: 登录MySQL服务器,运行 `SHOW PLUGINS;` 命令,应该能看到validate_password插件出现在结果中。 注意:由于MySQL5.6已经停止维护,验证密码功能在较新版本(如5.7及更高)中默认启用,离线安装validate_password插件在新版MySQL中可能不再必要。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值