3.2 nodejs连接mysql

简介: 本节介绍Node.js连接MySQL的配置方法:通过创建`.env`文件管理数据库配置,实现解耦;在`config/db.js`中使用`mysql2/promise`和`dotenv`模块建立连接池,并提供连接测试功能,确保数据库连接稳定可靠。

3.2 nodejs连接mysql
新建文件夹config,后续存放所有配置文件
在工程目录下用于存储数据库配置信息:.env。单独定义一个文件的目的也是为了解耦合。
SQL
运行代码
复制代码
1
2
3
4
5
6

.env 文件

DB_HOST=localhost
DB_PORT=3306
DB_USER=root # 你的 MySQL 用户名
DB_PASSWORD=123456 # 你的 MySQL 密码
DB_NAME=weapon_skins_db # 目标数据库名
此时,目录结构如下
config文件夹下新建连接数据库的配置文件:db.js
JavaScript
运行代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// config/db.js
const mysql = require('mysql2/promise');
require('dotenv').config(); // 加载环境变量,固定写法,会读取项目根目录下的.env文件

// 从环境变量读取配置
const dbConfig = {
host: process.env.DB_HOST,
port: process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
charset: 'utf8mb4',
};

// 创建连接池
const pool = mysql.createPool(dbConfig);

// 测试连接池是否可用
async function testPoolConnection() {
try {
const connection = await pool.getConnection();
console.log('✅ 数据库连接池创建成功!');
connection.release(); // 释放连接(归还到连接池)
} catch (error) {
console.error('❌ 数据库连接池创建失败:', error.message);
process.exit(1); // 连接失败则退出程序
}
}

// 暴露连接池和测试函数
module.exports = {
pool,
testPoolConnection
};

相关文章
|
Linux Anolis
性能优化特性之:EXT4 Fast Commit
本文介绍了倚天实例上进行IO优化的特性:Fast Commit,并对其优化原理、使用方法进行了详细阐述
|
Dubbo 应用服务中间件 Nacos
Dubbo “Data length too large“ 问题
解决Dubbo “Data length too large“ 问题
540 0
|
存储 SQL 分布式计算
【存储】2022 年的 4 个开源对象存储平台
【存储】2022 年的 4 个开源对象存储平台
|
8月前
|
测试技术
金丝雀发布
金丝雀发布(Canary)是一种渐进式发布策略,类似灰度发布。不同于蓝绿部署需两套完整环境切换,金丝雀是在一套系统中逐步替换旧版本,适用于大规模服务器场景。例如,线上有一万台Web服务器时,可先更新10台并观察,确认无误后逐步推广。通过流量切分控制新版本请求比例,降低发布风险。而单台服务器场景则适合蓝绿部署,不适用金丝雀。两种策略各有适用场景,需根据实际架构选择。
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
机器学习/深度学习 存储 人工智能
英伟达 H100 vs. 苹果M2,大模型训练,哪款性价比更高?
训练和微调大型语言模型对于硬件资源的要求非常高。目前,主流的大模型训练硬件通常采用英特尔的CPU和英伟达的GPU。然而,最近苹果的M2 Ultra芯片和AMD的显卡进展给我们带来了一些新的希望。
2514 0
|
C# 开发工具 C++
code runner 运行C#项目
本文介绍了如何修改Code Runner设置使 Visual Studio Code (VS Code) 能直接运行完整的 C# 项目。传统方式依赖 cscript 工具,仅支持 .csx 文件,功能受限且已停止维护。新配置使用 `dotnet run` 命令,结合一系列炫酷的cmd指令,将指令定位到具体的csproj文件上进行运行。
1421 38
|
JavaScript 关系型数据库 MySQL
node连接mysql,并实现增删改查功能
【8月更文挑战第26天】node连接mysql,并实现增删改查功能
775 3
|
小程序 JavaScript 前端开发
微信小程序开发必备前置知识:基本代码构成与语法
【8月更文挑战第8天】微信小程序的基本代码构成与语法
868 0
微信小程序开发必备前置知识:基本代码构成与语法