MySQL可以通过使用不同的插件进行多种认证方式,这些插件可以是内置的,也可以是来自于外部。默认的服务器端插件是内置的,包括“cachine_sha2_password”、“sha256_password”、“mysql_native_password”,“cachine_sha2_password”是MySQL8.0开始的默认插件,其他两种未来将做降级弃用处理。
MySQL服务器端“auth_socket”插件对通过Unix socket文件从本地主机连接的客户端进行身份验证。插件使用“SO_PEERCRED”套接字选项来获取有关运行客户端程序的用户的信息。因此,这个插件只能在支持“SO_PEERCRED”选项的系统上使用。
MySQL客户端库的库中内置了“mysql_clear_password”插件,该插件用于客户端发送明文密码,在一些认证方法里,例如,PAM或LDAP认证,要求客户端发送明文密码到服务器,以便服务器能以正常的格式处理这些密码。启用该插件,需要设置“LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN”环境变量,并在运行客户端时指定“--enable-cleartext-plugin”。
MySQL包含一个测试插件,用于检查帐户凭据并将成功或失败记录到服务器错误日志中。该插件不是内置插件,必须在使用前安装。插件使用“auth_test_plugin.so”文件。
MySQL还包含一个No-login插件,“mysql_no_login”服务器端身份验证插件阻止所有客户端连接到使用它的任何帐户。使用该插件能够使得账户提升权限执行存储的程序和视图,而不会将这些权限暴露给普通用户。还可以禁止账户直接登录,只允许通过代理帐户访问。
此外,在MySQL的企业版中,提供了PAM、LDAP、Windows 认证、Kerberos、FIDO等插件。
本文分享自 MySQL解决方案工程师 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有