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

使用Strapi CMS连接PlanetScale时遇Unknown dialect mysql2错误求助

解决Strapi连接PlanetScale时"Unknown dialect mysql2"错误

错误原因

Strapi依赖Knex.js处理数据库连接,Knex的数据库客户端标识应为mysql而非mysql2——尽管实际驱动使用的是mysql2包,但配置里的client字段必须指定为mysql,否则Knex无法识别对应的数据库方言。

解决步骤

1. 修改数据库配置文件

将config/database.js(或对应环境的配置文件)中的client值从mysql2改为mysql:

module.exports = ({ env }) => ({
  connection: {
    client: 'mysql', // 此处修改为mysql
    connection: {
      host: env('DATABASE_HOST', 'server hostname'),
      database: env('DATABASE_NAME', 'strapi_db_name'),
      user: env('DATABASE_USERNAME', 'username'),
      password: env('DATABASE_PASSWORD', 'password'),
      ssl: {
        rejectUnauthorized: env('DATABASE_SSL', true)
      },
    },
  }
});

2. 安装mysql2驱动依赖

确保项目已安装mysql2包,若未安装,执行以下命令:

npm install mysql2 --save
# 或使用yarn
yarn add mysql2

3. 验证SSL配置(可选)

PlanetScale要求强制SSL连接,你的配置中rejectUnauthorized: true是正确的,但需确认环境变量DATABASE_SSL未被错误设置为false。

4. 重启Strapi服务

修改配置并安装依赖后,重启Strapi服务:

npm run develop
# 或
yarn develop

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:24:32