共计 738 个字符,预计需要花费 2 分钟才能阅读完成。
作者:王顺
爱可生 DBA 团队成员,在公司负责我的项目中解决数据库问题,喜爱学习技术,钻研技术问题。
本文起源:原创投稿
* 爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。
背景
用户遇到问题,生产环境中对立脚本装置的 MySQL 8.0.18,为什么有的环境有明码策略,有的环境没有?
剖析
查看配置文件 my.cnf 并没有 validate_password 参数配置。
查看数据库中的参数配置,查到明码策略。
查看数据库的插件并没有 validate_password。
奇怪,为什么配置文件里没有 validate_password 参数,也没有装置过插件,明码策略是怎么来的?
起因
查阅官网文档,找到了起因。
8.0 之后,能够用 validate_password 组件来实现明码策略。
MySQL Components 是 8.0 新性能,用于扩大服务器性能的基于组件的根底构造。组件提供服务器和其余组件可用的服务。(就服务应用而言,服务器是一个组件,与其余组件雷同。)组件仅通过它们提供的服务进行交互。
MySQL 发行版蕴含几个实现服务器扩大的组件:
- 用于配置谬误日志记录的组件。
- 用于查看明码的组件。
- 使应用程序可能将其本人的音讯事件增加到审核日志的组件。
- 实现用于拜访查问属性的用户定义性能的组件。
https://dev.mysql.com/doc/ref…
删除该组件后,明码策略就生效了。
论断
在 8.0 之前,validate_password 是个独自的插件。
8.0 后可独自装置 validate_password 插件,也能够装置 validate_password 组件来实现明码策略,用户的环境对立脚本装置数据库时,没有装置插件,但独自装置 validate_password 组件也实现了明码策略。
正文完