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

Docker容器中NestJS应用使用mysql2仍触发ER_NOT_SUPPORTED_AUTH_MODE认证错误的排查求助

Docker容器中NestJS应用使用mysql2仍触发ER_NOT_SUPPORTED_AUTH_MODE认证错误的排查求助

我现在碰到一个超头疼的问题——每次在Docker容器里运行我的NestJS应用时,都会弹出下面这个认证错误:

ERROR [ExceptionHandler] ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

我已经尝试过切换到mysql2库,后来又换成了mysql2/promise,但还是会触发这个错误。这个问题我已经折腾了好几周了,而且我想采用更安全的解决路径,不想用降级MySQL认证方式那种临时方案。

我实在搞不清哪里出问题了:我知道很多人问过类似的问题,但那些帖子里的解决方案对我都没用。不确定是不是Docker容器的环境导致了差异,或者有没有什么我漏掉的小细节?

下面是我NestJS应用的main.ts代码片段:

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as serveStatic from 'serve-static';
// ... 其他省略的导入内容
import mysql, { Pool } from 'mysql2/promise';

async function bootstrap(): Promise<void> {
  // ... 你的应用启动逻辑代码
}
bootstrap();

备注:内容来源于stack exchange,提问作者CairoMisr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 09:49:36