MySQL 密码增强插件

200 ? "200px" : this.width)!important;}
-->

介绍

以前没有太注意MySQL密码安全策略的配置方法,只是人为了将密码设为复杂密码,但是没有找到配置的方法,今天姜承尧的微信公众号正好发布了一篇关于这个的文章,所以在这里也顺便将方法写下来。首先该功能是在5.5以后的mysql版本才引入的插件,默认源码安装和二进制安装都没有启用该功能,如果没有开启该功能设置简单密码mysql只是会给予提示但还是会允许通过。

启用功能

在my.cnf文件中加入

plugin-load=validate_password.so
validate-password=FORCE_PLUS_PERMANENT

分析功能

show variables like ‘validate%‘;

1. validate_password_policy

代表的密码策略,可配置的值有以下:默认是MEDIUM

0 or LOW 仅需需符合密码长度(由参数validate_password_length指定)
1 or MEDIUM 满足LOW策略,同时还需满足至少有1个数字,小写字母,大写字母和特殊字符
2 or STRONG 满足MEDIUM策略,同时密码不能存在字典文件(dictionary file)中

2.validate_password_dictionary_file

用于配置密码的字典文件,当validate_password_policy设置为STRONG时可以配置密码字典文件,字典文件中存在的密码不得使用。

3.validate_password_length

用来设置密码的最小长度,默认值是8最小是0

4.validate_password_mixed_case_count

当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少同时拥有的小写和大写字母的数量,默认是1最小是0;默认是至少拥有一个小写和一个大写字母。

5.validate_password_number_count

当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的数字的个数,默认1最小是0
6.validate_password_special_char_count

当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的特殊字符的个数,默认1最小是0

测试 

第一个密码是长度不够且没有大写字母,第二个密码长度够了但是没有大写字母

参考链接:http://mp.weixin.qq.com/s?__biz=MjM5MjIxNDA4NA==&mid=2649737686&idx=1&sn=c92874c88ff8e07a199d5ef81fbae359&scene=23&srcid=0701fj032oJWRFEv9eDsM10s#rd

总结

增加了密码的复杂度要求对系统的安全性会有很大的提升,特别是在线系统非常有必要启用该功能。


备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

时间: 2024-10-05 01:57:18

MySQL 密码增强插件的相关文章

启动MYSQL密码审计插件

http://www.innomysql.com/article/25717.html [[email protected] plugin]# pwd /usr/local/mysql56/lib/plugin [[email protected] plugin]# ll total 2184 -rwxr-xr-x. 1 root mysql 15437 Sep 19 2015 adt_null.so -rwxr-xr-x. 1 root mysql 25619 Sep 19 2015 auth

mysql 5.7安装密码校验插件validate_password

在使用服务器插件之前,必须将它们加载到服务器中.MySQL支持在服务器启动和运行时加载插件.还可以在启动时控制加载插件的激活状态,并在运行时卸载它们.在加载插件时,可以从INFORMATION_SCHEMA获得关于插件的信息. #查看当前mysql安装的插件信息 #查看当前mysql安装的插件信息 mysql> show plugins; +----------------------------+----------+--------------------+---------+-------

MySQL密码管理、存储引擎及事务

MYSQL密码管理: 修改用户密码: (1) SET PASSWORD [FOR 'user'@'host'] = PASSWORD('cleartext password'); (2) UPDATE mysql.user SET Password=PASSWORD('cleartext password')  WHERE User='USERNAME' AND Host='HOST'; (3) mysqladmin -uUSERNAME -hHOST -p  password 'NEW_PAS

mysql密码的坑

一段时间没用本机的mysql,忘了root密码,从网上找的修改方法用起来大多都有问题.mysql版本8.0.12. 网上大多数思路:修改msql启动方式为带--skip-grant-tables参数:然后免密进入客户端修改密码.但在skip-grant-tables模式下只能用update方法,但使用password函数的时候总报错. 后来找的方式: 1.以skip-grant-tables参数启动mysql --skip-grant-tables.或者修改启动ini文件. 2.免密进入客户端:

Ubuntu忘记MySQL密码重设方法

====================忘了mysql密码,从网上找到的解决方案记录在这里==================== 结束当前正在运行的mysql进程 # /etc/init.d/mysql stop 用mysql安全模式运行并跳过权限验证 # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 用空密码方式使用root用户登录 MySQL #  mysql -u root mysql 更新密码 # up

破解并重置mysql密码

-破解并重置mysql密码 密码这东西,总有忘记的时候,或者是一下子没有记录下来,或者是上一手交接的时候根本没人跟你说,或者是老旧到连老领导也忘记的数据库,问题是该用还是得用,那就把它破解了呗. #先关闭mysql service mysqld stop #进入安全模式,可以免密码登录 /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking& #免密码登陆 /usr/local/mysql/bin/mysql 

如何修改Xampp服务器上的mysql密码

今天自己在搞php的过程中发现,如果我们使用Xampp服务器自带数据库mysql,就必须先修改mysql的密码,大家都知道,mysql的初始面为空,但是如果连接数据库是密码为空就会报错,在网上查找了很多解决类似问题的办法,都是打开mysql的命令控制台,解决办法如下图 但是按照网上的说法,顺着步骤坐下来还是有问题,mysql的密码还是没有修改,接下来我将为大家介绍自己修改成功的步骤: 1.点击MySQL的admin进入phpMyAdmin页面: 2.点击账户,进入账户管理页面: 3.选中root

MYSQL养成记-MYSQL基础增强(Myql函数)

MYSQL基础增强(Myql函数) 在这里只介绍一些常用的,比较新颖的: 字符串函数: CONCAT://字符串连接函数mysql> SELECT CONCAT('My', 'S', 'QL'); -> 'MySQL' mysql> SELECT CONCAT('My', NULL, 'QL');//与null连接会变null -> NULL mysql> SELECT CONCAT(14.3); -> '14.3' CONCAT_WS://含分隔符的字符串连接mysq

通过命令修改wampserver的mysql密码

WAMP安装好后,mysql教程密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 首先,通过WAMP打开mysql控制台. 提示输入密码,因为现在是空,所以直接按回车. 然后输入“use mysql”,意思是使用mysql这个数据库教程,提示“Database changed”就行. 然后输入要修改的密码的sql语句“update user set password=PASSWORD('hooray') where user='root';”,注意,sql语