You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为MySQL 8.0.28同一用户启用两种认证插件

在MySQL 8.0.28中为同一用户配置两种认证插件的方法

MySQL 8.0+支持为同一用户(相同用户名+主机组合)配置多种认证插件,刚好能满足你Go语言用caching_sha2_password、Django用mysql_native_password的需求,具体操作步骤如下:

1. 创建/配置用户的第一种认证方式(以caching_sha2_password为例)

如果用户还未创建,先执行以下命令创建用户并指定第一种认证插件:

CREATE USER 'dev_customers_rw'@'%' IDENTIFIED WITH caching_sha2_password BY 'your_secure_password';

如果用户已存在,可跳过此步,直接添加第二种认证方式。

2. 添加第二种认证插件(mysql_native_password)

执行ALTER USER命令为同一用户添加第二种认证方式:

ALTER USER 'dev_customers_rw'@'%' IDENTIFIED WITH mysql_native_password BY 'your_secure_password';

注:这里的密码可以和第一种认证方式的密码相同,也可以不同,根据你的需求设置即可。

3. 验证配置结果

执行以下SQL查询用户的认证插件配置,就能看到和你示例中一样的两条记录:

SELECT user, host, plugin FROM mysql.user WHERE user = 'dev_customers_rw';

4. 配置用户权限(按需执行)

由于是同一个用户,权限是共享的,只需授权一次即可:

-- 替换为你实际需要的权限和数据库
GRANT ALL PRIVILEGES ON dev_customers.* TO 'dev_customers_rw'@'%';
FLUSH PRIVILEGES;

完成以上步骤后,Go语言客户端会自动使用caching_sha2_password认证,Django客户端则可以通过指定mysql_native_password插件(通常Django的MySQL驱动会自动适配,或者在配置中显式指定)完成连接。

内容的提问来源于stack exchange,提问作者sateesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 13:40:25