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
相关产品推荐
相关产品推荐

