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
};

相关文章
|
1天前
|
前端开发
1.前端知识回顾
创建HTML文件需将后缀命名为.html,如“01-新浪新闻-标题-排版.html”。输入英文感叹号!后回车,自动生成基础结构,修改标题并保存。在浏览器中打开预览效果,确保页面正常显示,完成初步测试。(239字)
|
1天前
|
JavaScript 前端开发 测试技术
3.5 测试数据库删除
本节实现数据库的删除与修改功能测试。在`weaponSkinModel.js`中新增按ID修改价格和扣减库存的功能,通过`index.js`编写测试代码验证逻辑正确性,结合控制台输出与数据库数据双向校验,确保增删改查操作符合预期,提升数据交互稳定性。(238字)
|
1天前
|
数据可视化 关系型数据库 MySQL
2.MySQL核心知识回顾
本节介绍MySQL的安装方法,若本地未安装,可使用提供的安装包。安装完成后,推荐使用Navicat、SQLyog或DataGrip等可视化工具进行操作,方便高效管理数据库。
|
1天前
|
JavaScript
1.2 NodeJS安装
本节介绍Node.js的安装方法,可通过官网或本地安装包进行。安装时需选择无空格的英文路径,并参考手册完成。安装后通过“win+R→cmd→node -v”命令验证环境,能输出版本号即成功,版本无需与示例一致。
|
1天前
|
前端开发 JavaScript
修改index.html
本项目为“无畏契约皮肤商城”前端页面,包含左右广告栏、导航筛选、商品展示与分页功能,支持价格、外观、类别等多维度筛选,结构清晰,适配移动端,通过HTML、CSS与JS实现交互动态加载。
|
1天前
|
JavaScript 前端开发
修改weaponSkinModel.js
在 `weaponSkinModel.js` 中新增分页查询功能,支持按类别、品质、收藏状态、基础武器等条件筛选,返回数据列表及分页信息,提升查询效率与灵活性。
|
1天前
|
JSON 前端开发 JavaScript
修改server.js
在 `server.js` 中新增分页查询API,支持按价格、外观、类别等条件筛选武器皮肤,实现前端分页与多参数过滤功能,提升数据加载效率与用户体验。
|
1天前
|
移动开发 HTML5
完成新浪新闻-正文-视频
使用HTML5的`<video>`标签为新浪新闻正文添加视频,支持在线资源、相对路径和绝对路径三种引入方式。通过设置src、width、height及controls等属性,可自定义视频播放控件与样式。
|
1天前
|
SQL 存储
查找全部武器
本文介绍如何通过SQL分页查询“武器皮肤”表数据,包含建表语句、测试数据插入及字段说明,涵盖武器名称、价格、品质、图片等信息,适用于游戏商城或道具管理系统开发。
|
1天前
|
存储 前端开发 JavaScript
首页优化
对首页进行优化,重点改进侧边栏广告轮播与筛选功能交互。通过HTML结构重构、JS动态加载筛选项并实现标签页切换及价格过滤,提升页面响应式体验与用户操作流畅度,更贴近官网视觉效果。