mysql 卸载插件_MySQL 插件安装或卸载(window validate_password 为例)

查看插件:

mysql> show plugins;

mysql> select plugin_name,plugin_status,plugin_type,load_option,plugin_library from information_schema.plugins;默认插件目录:

mysql> show variables like 'plugin_dir';

+---------------+------------------------+

| Variable_name | Value |

+---------------+------------------------+

| plugin_dir | D:\mysql57\lib\plugin\ |

+---------------+------------------------+配置文件中更改插件目录:

[mysqld]

plugin_dir="D:/mysql57/lib/plugin/"

6a0974a883128cef5461a92ae2903ffd.png

插件目录中有较多插件,这是windows中的个数。接下来将安装密码策略的插件validate_password.dll。

方法一:启动服务时添加

# mysqld --plugin-load="validate_password.dll" --validate-password=FORCE_PLUS_PERMANENT

--plugin-load :服务启动时重新加载插件

--plugin-load-add :对当前插件的补充

-early-plugin-load :加载在初始化插件及存储引擎之前的插件

--plugin-load=x --plugin-load-add=y 等价于 --plugin-load="x;y"

--plugin-load-add=y --plugin-load=x 等价于 --plugin-load=x

方法二:配置文件中添加(一般不用方法一),随服务启动生效。

[mysqld]

plugin-load=validate_password.dll

validate-password = FORCE_PLUS_PERMANENT

# validate-password =ON/OFF/FORCE/FORCE_PLUS_PERMANENT: 是否使用该插件(及强制/永久强制使用)

方法三:在线添加(如不打算重启服务,可同时使用方法二和方法三)

#在线添加

mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.dll';

#在线卸载

mysql> UNINSTALL PLUGIN validate_password;部分插件安装结果(第一行记录为刚才安装的):

+----------------------------+---------------+--------------------+----------------------+-----------------------+

| plugin_name | plugin_status | plugin_type | load_option | plugin_library |

+----------------------------+---------------+--------------------+----------------------+-----------------------+

| validate_password | ACTIVE | VALIDATE PASSWORD | FORCE_PLUS_PERMANENT | validate_password.dll |

| sha256_password | ACTIVE | AUTHENTICATION | FORCE | NULL |

| PERFORMANCE_SCHEMA | ACTIVE | STORAGE ENGINE | FORCE | NULL |

| partition | ACTIVE | STORAGE ENGINE | ON | NULL |

| ngram | ACTIVE | FTPARSER | ON | NULL |

| mysql_native_password | ACTIVE | AUTHENTICATION | FORCE | NULL |

| MyISAM | ACTIVE | STORAGE ENGINE | FORCE | NULL |

查看插件 validate_password 相关变量:

mysql> show global variables like '%validate_password%';

+--------------------------------------+--------+

| Variable_name | Value |

+--------------------------------------+--------+

| 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 |

+--------------------------------------+--------+validate_password_dictionary_file :验证密码的字典文件,与之相同的不可使用

validate_password_length :密码最少长度

validate_password_number_count :最少数字字符数

validate_password_mixed_case_count :最少大写和小写字符数(同时有大写和小写)

validate_password_special_char_count :最少特殊字符数

validate_password_policy :密码安全策略:

0/LOW:只限长度,

1/MEDIUM:限制长度、数字、字母、特殊字符

2/STRONG:限制长度、数字、字母、特殊字符、字典

查看插件 validate_password 相关状态:

mysql> SHOW STATUS LIKE 'validate_password%';

+-----------------------------------------------+---------------------+

| Variable_name | Value |

+-----------------------------------------------+---------------------+

| validate_password_dictionary_file_last_parsed | 2018-03-05 12:13:06 |

| validate_password_dictionary_file_words_count | 0 |

+-----------------------------------------------+---------------------+validate_password_dictionary_file_last_parsed :字典文件最近读取时间

validate_password_dictionary_file_words_count :从字典文件的单词数

测试(当前默认策略:validate_password_policy=MEDIUM)

mysql> create user test@'localhost' identified by '12345678';

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> create user test@'localhost' identified by 'Aa_12345';

Query OK, 0 rows affected (0.03 sec)

validate_password_dictionary_file 字典文件可以排除关键字,如不允许密码中使用文件中的字符串。

字典文件满足以下条件:

1. 密码策略为:STRONG

2. 文件中的字符串每行一个

3. 文件中符串每为小写,不区分大小写

4. 文件最大为 1MB

5. 文件字符集为utf8

6. 随时修改不用重启服务

7. 文件可读配置文件内容:D:/mysql57/lib/plugin/dictionary_file

12345

aa_12345在线更改变量:

mysql> set global validate_password_dictionary_file = "D:/mysql57/lib/plugin/dictionary_file";

mysql> set global validate_password_policy = STRONG;

在线更改变量有一个 bug,由于缓存不自动刷新原因,字典文件对于已经存在的插件缓存不会变,所以在线更改上面两个变量虽然可以更改,但不会刷新缓存(Bug #66697:need ability to flush password validation dictionary file) 。因此在配置文件中设置,并且重启服务重新加载插件。

plugin-load=validate_password.dll

validate-password = FORCE_PLUS_PERMANENT

validate_password_dictionary_file = "D:/mysql57/lib/plugin/dictionary_file"

validate_password_policy = STRONG测试结果:

mysql> show global variables like '%validate_password%';

+--------------------------------------+---------------------------------------+

| Variable_name | Value |

+--------------------------------------+---------------------------------------+

| validate_password_dictionary_file | D:/mysql57/lib/plugin/dictionary_file |

| validate_password_length | 8 |

| validate_password_mixed_case_count | 1 |

| validate_password_number_count | 1 |

| validate_password_policy | STRONG |

| validate_password_special_char_count | 1 |

+--------------------------------------+---------------------------------------+

6 rows in set, 1 warning (0.00 sec)

mysql> create user test@'localhost' identified by 'Aa_12346';

Query OK, 0 rows affected (0.07 sec)

mysql> create user test1@'localhost' identified by 'Aa_12345';

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql>使用密码 “Aa_12346” 不会报错,而使用密码 “Aa_12345”则出现错误,因为该密码与字典文件中的 “aa_12345”一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值