温馨提示×

Linux Node.js如何配置数据库连接

小樊
57
2025-05-03 19:03:47
栏目: 编程语言

在Linux环境下使用Node.js配置数据库连接,通常涉及以下几个步骤。下面以MySQLMongoDB为例,分别介绍如何进行配置。

一、配置MySQL数据库连接

1. 安装MySQL服务器

首先,确保你的Linux系统上已经安装了MySQL服务器。可以使用以下命令进行安装(以Ubuntu为例):

sudo apt update sudo apt install mysql-server 

安装完成后,启动并启用MySQL服务:

sudo systemctl start mysql sudo systemctl enable mysql 

然后运行安全脚本以设置root密码和其他安全选项:

sudo mysql_secure_installation 

2. 创建数据库和用户

登录到MySQL控制台:

sudo mysql -u root -p 

输入密码后,创建一个新的数据库和用户,并授予权限。例如:

CREATE DATABASE mydatabase; CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost'; FLUSH PRIVILEGES; EXIT; 

3. 在Node.js项目中安装MySQL驱动

在你的Node.js项目目录下,使用npm安装mysql模块:

npm install mysql 

4. 编写数据库连接代码

创建一个名为db.js的文件,并添加以下内容:

const mysql = require('mysql'); // 创建数据库连接 const connection = mysql.createConnection({ host: 'localhost', user: 'myuser', password: 'mypassword', database: 'mydatabase' }); // 连接数据库 connection.connect((err) => { if (err) { console.error('Error connecting to the database:', err); return; } console.log('Connected to the MySQL server.'); }); // 导出连接对象 module.exports = connection; 

5. 使用连接进行数据库操作

在你的应用中引入并使用数据库连接。例如,在app.js中:

const express = require('express'); const db = require('./db'); // 引入数据库连接 const app = express(); const port = 3000; app.get('/', (req, res) => { db.query('SELECT * FROM your_table', (err, results) => { if (err) { console.error('Error executing query:', err); res.status(500).send('Database error'); return; } res.json(results); }); }); app.listen(port, () => { console.log(`Server running on port ${port}`); }); 

6. 运行应用

确保所有依赖已安装,然后启动Node.js应用:

node app.js 

二、配置MongoDB数据库连接

1. 安装MongoDB服务器

在Linux上安装MongoDB,可以参考官方文档:MongoDB官方安装指南

以Ubuntu为例:

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list sudo apt update sudo apt install -y mongodb-org sudo systemctl start mongod sudo systemctl enable mongod 

2. 在Node.js项目中安装MongoDB驱动

使用npm安装mongodb模块:

npm install mongodb 

3. 编写数据库连接代码

创建一个名为db.js的文件,并添加以下内容:

const { MongoClient } = require('mongodb'); // MongoDB连接URI const uri = 'mongodb://myuser:mypassword@localhost:27017/mydatabase'; // 创建MongoClient实例 const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); // 连接函数 async function connectToDatabase() { try { await client.connect(); console.log('Connected to MongoDB'); return client.db('mydatabase'); } catch (error) { console.error('Error connecting to MongoDB:', error); throw error; } } // 导出连接函数 module.exports = connectToDatabase; 

4. 使用连接进行数据库操作

在你的应用中引入并使用数据库连接。例如,在app.js中:

const express = require('express'); const connectToDatabase = require('./db'); // 引入数据库连接函数 const app = express(); const port = 3000; app.get('/', async (req, res) => { try { const db = await connectToDatabase(); const collection = db.collection('your_collection'); const data = await collection.find({}).toArray(); res.json(data); } catch (error) { console.error('Error fetching data:', error); res.status(500).send('Database error'); } }); app.listen(port, () => { console.log(`Server running on port ${port}`); }); 

5. 运行应用

确保所有依赖已安装,然后启动Node.js应用:

node app.js 

三、其他注意事项

  1. 环境变量管理:为了安全起见,建议将数据库的用户名、密码等敏感信息存储在环境变量中,而不是硬编码在代码中。可以使用dotenv包来管理环境变量。

    安装dotenv

    npm install dotenv 

    在项目根目录创建一个.env文件:

    DB_HOST=localhost DB_USER=myuser DB_PASSWORD=mypassword DB_DATABASE=mydatabase 

    在代码中使用:

    require('dotenv').config(); const connection = mysql.createConnection({ host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASSWORD, database: process.env.DB_DATABASE }); 
  2. 错误处理和重连机制:在生产环境中,建议添加更完善的错误处理和自动重连机制,以确保应用的稳定性。

  3. 使用ORM工具:对于复杂的应用,可以考虑使用ORM(对象关系映射)工具,如Sequelize(用于SQL数据库)或Mongoose(用于MongoDB),以简化数据库操作和管理。

通过以上步骤,你应该能够在Linux环境下成功配置Node.js与MySQL或MongoDB的数据库连接。如有更多问题,欢迎继续提问!

0