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

连接MariaDB时收到意外authentication switch request问题求助

MariaDB 连接时重复返回mysql_native_password认证切换请求的排查
  • 优先检查客户端握手响应包的能力标志位:MariaDB对CLIENT_PLUGIN_AUTH(0x00080000)标志位的校验比MySQL更严格。如果未设置该标志,即便你指定了mysql_native_password插件,服务器仍会触发“认证切换”流程——本质是强制要求客户端重新以指定插件提交认证信息。
  • 核对密码加密的种子使用逻辑:确认你完整使用了服务器初始握手包中的全部随机种子数据。如果只截取了部分种子,加密后的密码会验证失败,服务器会返回插件相同的切换请求,实际是重试提示。
  • 验证插件名称的编码与长度:确保mysql_native_password的字符串长度计算准确(含末尾空终止符共20字节),且采用UTF-8编码。长度错误会导致服务器无法识别插件,进而触发无意义的切换请求。
  • 排查服务器端配置:
    • 本地实例:执行SHOW VARIABLES LIKE 'default_authentication_plugin';确认默认插件为mysql_native_password
    • AWS实例:检查控制台的数据库参数组配置,确保default_authentication_plugin未被修改为其他插件

从你提供的数据包记录来看,重点核对以下几点:

  1. 客户端响应中是否开启了CLIENT_PLUGIN_AUTH标志位
  2. 加密密码时是否完整拼接了服务器返回的所有随机种子
  3. 插件名称的字节长度是否与mysql_native_password的实际长度匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 14:12:39