MariaDB + Node.js 项目
1. 环境准备
- 安装 Node.js(推荐最新版 LTS)
- 安装 MariaDB 数据库并确保运行
- 使用 npm 初始化项目:
npm init -y
`
- 安装 MariaDB Node.js 驱动:
npm install mariadb
2. 数据库连接
创建数据库连接池,示例代码:
const mariadb = require('mariadb');
const pool = mariadb.createPool({
host: 'localhost',
user: 'root',
password: 'your_password',
database: 'testdb',
connectionLimit: 5
});
async function testConnection() {
let conn;
try {
conn = await pool.getConnection();
console.log("数据库连接成功");
} catch (err) {
console.error("连接错误:", err);
} finally {
if (conn) conn.release();
}
}
testConnection();
3. 基本 CRUD 操作示例
- 插入数据
async function insertUser(username, email) {
let conn;
try {
conn = await pool.getConnection();
const res = await conn.query("INSERT INTO users(username, email) VALUES (?, ?)", [username, email]);
console.log("插入成功,ID:", res.insertId);
} catch (err) {
console.error(err);
} finally {
if (conn) conn.release();
}
}
- 查询数据
async function getUsers() {
let conn;
try {
conn = await pool.getConnection();
const rows = await conn.query("SELECT * FROM users");
console.log(rows);
} catch (err) {
console.error(err);
} finally {
if (conn) conn.release();
}
}
- 更新数据
async function updateUserEmail(id, newEmail) {
let conn;
try {
conn = await pool.getConnection();
await conn.query("UPDATE users SET email = ? WHERE id = ?", [newEmail, id]);
console.log("更新成功");
} catch (err) {
console.error(err);
} finally {
if (conn) conn.release();
}
}
- 删除数据
async function deleteUser(id) {
let conn;
try {
conn = await pool.getConnection();
await conn.query("DELETE FROM users WHERE id = ?", [id]);
console.log("删除成功");
} catch (err) {
console.error(err);
} finally {
if (conn) conn.release();
}
}
4. 项目结构示例
node-mariadb-project/
├── index.js # 主入口文件
├── db.js # 数据库连接池配置
├── controllers/ # 业务逻辑
├── routes/ # 路由定义(如使用 Express)
└── package.json
5. 结合 Express 框架示例(简单路由)
const express = require('express');
const app = express();
app.use(express.json());
app.get('/users', async (req, res) => {
// 查询用户代码,调用 getUsers()
});
app.post('/users', async (req, res) => {
// 新增用户代码,调用 insertUser()
});
app.listen(3000, () => {
console.log('服务启动,监听端口3000');
});
MariaDB 与 Node.js 的结合能帮助你快速构建现代化后端应用,适合开发高性能、可扩展的 Web 服务。
相关内容
- mariabackup 工具 本节介绍 MariaDB 官方的物理备份工具 mariabackup,包括安装、使用方法和常用参数,帮助实现高效的数据库备份和恢复。
- mysqldump 使用 本节介绍使用 mysqldump 工具备份和恢复 MariaDB 数据库,包括导出数据库、表和数据的常用命令及参数示例。
- 性能监控与配置 本节介绍 MariaDB 性能监控与配置方法,涵盖性能指标监测、参数调优及工具使用,帮助提升数据库稳定性和响应速度。
- 慢查询日志 本节介绍 MariaDB 慢查询日志的配置与使用方法,通过记录执行时间较长的 SQL 语句,帮助定位性能瓶颈,优化数据库查询效率。
- 常规恢复 本节介绍 MariaDB 常规恢复方法,包含从 mysqldump 和 mariabackup 备份文件中恢复数据库的步骤,确保数据安全快速恢复。
- PITR 时间点恢复 本节讲解 MariaDB 利用二进制日志实现时间点恢复(PITR),通过恢复备份及应用日志,精确恢复到指定时间点。