千家信息网

MySQL密码策略有哪些

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"MySQL密码策略有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1) 临时密码
千家信息网最后更新 2026年11月03日MySQL密码策略有哪些

本篇内容介绍了"MySQL密码策略有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1) 临时密码

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中。

mysql> select @@log_error;

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

| /var/log/mysqld.log |

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

可通过# grep "password" /var/log/mysqld.log 命令获取MySQL的临时密码。用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:

mysql> select user();

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

如果只是修改为一个简单的密码,会报以下错误:

mysql> ALTER USER USER() IDENTIFIED BY '12345678';

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

这个其实与validate_password_policy的值有关。

在5.6.8之后的版本,用mysql_install_db方式初始化后,root密码将会存放在 /root/.mysql_secret中详细见 --random-passwords 参数。

2) 密码策略

validate_password_policy有以下取值:

Policy Tests Performed

0 or LOW Length

1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters

2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写字母、大写字母,特殊字符。

密码长度由validate_password_length参数来决定:

validate_password_length参数默认为8,它有最小值的限制,最小值为:

validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

其中,validate_password_number_count指定了密码中数据的长度,validate_password_special_char_count指定了密码中特殊字符的长度,validate_password_mixed_case_count指定了密码中大小字母的长度。这些参数,默认值均为1,所以validate_password_length最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。

有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。必须修改两个全局参数:

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=4;

3) validate_password插件

Mysql要具备密码策略验证的功能必须按照validate_password插件,MySQL5.7是默认安装的。

那么如何验证validate_password插件是否安装呢?可通过查看以下参数,如果没有安装,则输出将为空。

mysql> SHOW VARIABLES LIKE 'validate_password%';

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

| Variable_name | Value |

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

| validate_password_dictionary_file | |

| validate_password_length | 6 |

| validate_password_mixed_case_count | 2 |

| validate_password_number_count | 1 |

| validate_password_policy | LOW |

| validate_password_special_char_count | 1 |

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

6 rows in set (0.00 sec)

(摘自:http://www.linuxidc.com/Linux/2016-01/127831.htm)

插件的安装启用:

插件对应的库对象文件需在配置选项plugin_dir指定的目录中。可使用--plugin-load=validate_password.so在server启动时载入插件,或者将plugin-load=validate_password.so写入配置文件。也可以通过如下语句在server运行时载入插件(会注册进mysql.plugins表)mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';

为阻止该插件在运行时被删除可在配置文件中添加:

[mysqld]

plugin-load=validate_password.so

validate-password=FORCE_PLUS_PERMANENT

"MySQL密码策略有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

密码 插件 参数 长度 最小 字母 文件 配置 特殊 内容 只是 字符 更多 知识 策略 错误 会报 可通 有关 输出 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云之行互联网科技 互联网金融监管科技数据 互联网科技资迅 小马过河互联网科技 亿账通互联网科技 中正互联网科技招聘 海南购全球互联网科技 成都仁贤领冠互联网科技有限公司 字节跳动和互联网科技 互联网时代科技改变生活 岳阳华臻互联网科技有限公司 成都互联网科技公司工作好不好 深圳市罗太互联网科技有限公司 明优互联网科技有限公司 中科明德北京互联网科技 2021世界互联网领先科技成果发布 珠海东科互联网科技有限公司 艺电能源互联网科技有限公司招聘 互联网科技自媒体灵感 每日互联网科技新闻 互联网科技工作委员会毛军 互联网 科技 北京互联网络科技有限公司 新兴科技互联网创新大赛颁奖典礼 群盈汇互联网科技有限公司 互联网科技股为什么大涨 广州燕处互联网科技有限公司 湖北辰鑫科技互联网 艺电能源互联网科技有限公司招聘 中国主要互联网科技公司
0