如何理解MySQL的可插入验证和客户端明文验证插件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
MySQL 支持多种通过可插入验证提供的验证机制。
插件是内置的,也可作为外部库提供。
默认的服务器端插件是内置的,始终可用,其中包括:
– mysql_native_password:这是默认机制
– mysql_old_password:此插件的实现验证的方式与MySQL4.1.1 之前的版本相同。
– sha256_password:此插件可启用口令的SHA-256散列。
MySQL 使用多种算法对用户表中存储的口令加密:
mysql_native_password 插件实施标准口令格式:41 字节宽的散列。
mysql_old_password 插件实施较旧的格式,安全性较低,16 字节宽。
sha256_password 插件实施在安全计算中广泛采用的SHA-256 散列算法。
old_passwords 系统变量的值指定PASSWORD() 函数用于创建口令的算法,如下所示:
0:标准算法,与MySQL 4.1.1 及更高版本中所用的算法相同
1:旧算法,与MySQL 4.1.1 之前版本中所用的算法相同
2:SHA-256 算法
启动服务器时将default-authentication-plugin 选项设置为sha256_password,
可将SHA-256 口令用于所有新用户,也可使用CREATE USER 和IDENTIFIED WITH sha256_password子句为特定用户指定SHA-256 口令。
客户端明文验证插件
MySQL 客户机库中有一个内置的明文验证插件
mysql_clear_password。该插件:
用于将纯文本口令发送给服务器
– 口令通常经过散列处理。
通过以下方式启用:
– LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN 环境变量
– 在运行MySQL 客户机应用程序(如mysql 和
mysqladmin)时指定--enable-cleartext-plugin
– mysql_options() C API 函数的
MYSQL_ENABLE_CLEARTEXT_PLUGIN 选项
有些验证方法(如PAM(Pluggable Authentication Module,可插入验证模块)验证)要求客户机向服务器发送纯文本口令,以便服务器处理普通形式的口令。
mysql_clear_password 插件支持此行为。
关于如何理解MySQL的可插入验证和客户端明文验证插件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。