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

如何在Next.js中使用.env连接MySQL?附示例代码

Next.js 中使用 .env 文件连接 MySQL 示例

1. 配置环境变量

在项目根目录创建 .env.local 文件(Next.js 会自动加载该文件的环境变量),填入你的 MySQL 配置信息:

# MySQL 连接配置
MYSQL_HOST=你的数据库主机地址
MYSQL_USER=数据库用户名
MYSQL_PASSWORD=数据库密码
MYSQL_DATABASE=目标数据库名称

注意:不要使用 NEXT_PUBLIC_ 前缀,这类敏感信息仅需在服务端可用,带该前缀的变量会暴露给前端,存在安全风险。

2. 安装依赖

使用 npm 或 yarn 安装 mysql2(mysql 包已停止维护,推荐使用 mysql2):

npm install mysql2
# 或使用 yarn
yarn add mysql2

3. 创建数据库连接池

在项目中新建 lib/db.js 文件,编写连接池代码:

import mysql from 'mysql2/promise';

// 创建 MySQL 连接池
const pool = mysql.createPool({
  connectionLimit: 100,
  host: process.env.MYSQL_HOST,
  user: process.env.MYSQL_USER,
  password: process.env.MYSQL_PASSWORD,
  database: process.env.MYSQL_DATABASE,
});

export default pool;

4. 使用连接池操作数据库示例

以 Next.js API 路由为例,创建 pages/api/fetch-data.js:

import pool from '../../lib/db';

export default async function handler(req, res) {
  if (req.method !== 'GET') {
    return res.status(405).json({ message: '仅支持 GET 请求' });
  }

  try {
    // 执行查询
    const [rows] = await pool.query('SELECT * FROM 你的表名');
    res.status(200).json(rows);
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
}

注意事项

  • 务必将 .env.local 添加到 .gitignore 文件中,防止敏感信息提交到代码仓库
  • 生产环境部署时,直接在部署平台(如 Vercel、Netlify)的环境变量面板配置对应参数,无需上传 .env.local
  • 优先使用 mysql2/promise 提供的异步 API,适配 Next.js 的异步编程逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 19:06:04