查看插件:

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

插件目录中有较多插件,这是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”一样。

mysql 卸载插件_MySQL 插件安装或卸载(window validate_password 为例)相关推荐

  1. mysql显示表已存在_mysql的安装与卸载

    1.下载压缩包解压之后再新建一个my.ini的文件输入 [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:mysql-8.0.21-winx ...

  2. mysql plugin 调用_MySQL插件接口的调用方式

    author:sufei 版本:8.0.16 一.简介 首先简单说明一下插件的实现原理 在程序的合适位置(挂钩处)安插相应的函数指针,相应的结构类似:if (fun_ptr != null) fun_ ...

  3. ##安装MySql数据库并解决如果安装出错卸载的注意事项

    MySQL安装图解   一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.5.27-win32.zip,双击解压缩,运行"setup.exe".     2.选 ...

  4. Linux图形界面的安装和卸载,在CentOS下安装和卸载图形化界面的方法

    虽然说text模式下系统占用资源小,但是有时候确实在图形界面下操作更方便,所以,学会在centos下安装图形界面是必须会的.图形界面有两个,可以任选其中一个,看你的更新源当中有哪个就安装哪个吧. ce ...

  5. ubuntu linux卸载软件命令,ubuntu安装和卸载软件命令

    Ubuntu软件安装与删除相关命令 安装软件 命令: apt-get install softname1 softname2 softname3-- 卸载软件 命令: apt-get remove s ...

  6. amd显卡驱动linux 卸载,AMD显卡驱动安装和卸载的正确方法

    不正确的卸载和安装或升级会导致各种问题 比如蓝屏/驱动安装不了/新特性的功能没有用/CCC打不开/游戏出问题.下面是学习啦小编跟大家分享的是AMD显卡驱动安装和卸载的正确方法,欢迎大家来阅读学习. A ...

  7. linuxrpm命令卸载python_Linux RPM包安装、卸载、升级命令讲解

    一个 RPM 包包含了已压缩的软件文件集以及该软件的内容信息,通常表现为以 .rpm 扩展名结尾的文件,例如 samba.rpm .如果需要对RPM包进行操作则需要使用rpm命令. 一.RPM包的来源 ...

  8. linux yum卸载tomcat7,linux Yum 安装、卸载、查看软件

    一:Yum 简介 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指 ...

  9. mac卸载java 1.6_Mac 安装、卸载JDK 1.6

    卸载 输入 sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -fr /Library/Preferenc ...

  10. mysql fabric搭建_MySQL Fabric 安装部署

    MySQL Fabric 是一个用于管理 MySQL 服务器群的可扩展框架.该框架实现了两个特性 - 高可用性 (HA) 以及使用数据分片的横向扩展.这两个特性既可以单独使用,也可以结合使用. 环境: ...

最新文章

  1. c#_continue 和 break 的区别
  2. python四大软件-Python实用模块(二十)Apscheduler
  3. silverlight 跨域文件位置
  4. is NULL , is NOT NULL 有时索引失效 || in 走索引, not in 索引失效 ||单列索引和复合索引 || 查看索引使用情况
  5. methods中axios里的数据无法渲染到页面
  6. java演出厅选票_高仿猫眼电影选座(选票)模块-b
  7. HDU 3641 Treasure Hunting(阶乘素因子分解+二分)
  8. 简单介绍java Enumeration(转)
  9. 双向重定向指令 tee
  10. Android 如何查看apk签名信息的MD5(SHA1和SHA256也可以)
  11. 极通EWEBS远程接入v4.2六步实施法
  12. LaTeX插入参考文献教程 | 非BibTeX格式
  13. Alphapose_pytorch版本环境配置Win10
  14. 凛冬的寒风,吹开了电动车的遮羞布
  15. 猿创征文|Android 11.0 12.0Launcher3中app列表页的app名称分两行显示
  16. VMware虚拟机Ubuntu系统如何连接网络
  17. Mac重装系统出错的心路历程
  18. 微信ios版本的两个灰度功能和一些小改变
  19. 【破茧成蝶-用户体验设计】读书笔记
  20. OpenCV边缘检测(一)——Roberts边缘检测

热门文章

  1. 部署Chart应用并使用.net core读取Kubernetes中的configMap
  2. Visual Studio 2017 15.7 Preview 1 发布
  3. 谈谈在.NET Core中使用Redis和Memcached的序列化问题
  4. 前端模块化工具--webpack学习心得
  5. .NET Core项目从xproj+project.json向csproj迁移简介
  6. 写一个高性能的敏感词检测组件
  7. Session的原理,大型网站中Session方面应注意什么?
  8. 产品经理有哪些类型?
  9. [转]再见 NoSQL!
  10. 架构师必须知道的架构设计原则