在 CentOS 上使用 Node.js 连接数据库,通常取决于你用的是哪种数据库(MySQL / PostgreSQL / MongoDB 等)。下面我以 最常见的几种 为例,给你完整说明。
# 使用 NodeSource(推荐)
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
# 验证
node -v
npm -v
mkdir node-db-demo
cd node-db-demo
npm init -y
npm install mysql2
const mysql = require('mysql2');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'your_password',
database: 'test_db'
});
connection.connect(err => {
if (err) {
console.error('连接失败:', err);
return;
}
console.log('MySQL 连接成功');
});
connection.query('SELECT 1 + 1 AS result', (err, results) => {
if (err) throw err;
console.log(results);
});
connection.end();
✅ CentOS 注意
systemctl start mysqld
systemctl enable mysqld
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
npm install pg
const { Client } = require('pg');
const client = new Client({
host: 'localhost',
user: 'postgres',
password: 'your_password',
database: 'test_db',
port: 5432
});
client.connect()
.then(() => console.log('PostgreSQL 连接成功'))
.catch(err => console.error(err));
client.query('SELECT NOW()', (err, res) => {
if (err) throw err;
console.log(res.rows);
client.end();
});
npm install mongodb
const { MongoClient } = require('mongodb');
const uri = 'mongodb://localhost:27017';
const client = new MongoClient(uri);
async function run() {
try {
await client.connect();
console.log('MongoDB 连接成功');
const db = client.db('test_db');
const col = db.collection('users');
const data = await col.find({}).toArray();
console.log(data);
} finally {
await client.close();
}
}
run();
bind-address)修改数据库配置:
# MySQL
bind-address = 0.0.0.0
setsebool -P httpd_can_network_connect_db 1
.env + dotenv)Sequelize / Prisma / TypeORM)如果你告诉我:
我可以直接给你 可运行的完整示例。