溫馨提示×

Linux Node.js如何配置數據庫連接

小樊
41
2025-05-03 19:03:47
欄目: 編程語言

在Linux環境下使用Node.js配置數據庫連接,通常涉及以下幾個步驟。下面以MySQLMongoDB為例,分別介紹如何進行配置。

一、配置MySQL數據庫連接

1. 安裝MySQL服務器

首先,確保你的Linux系統上已經安裝了MySQL服務器??梢允褂靡韵旅钸M行安裝(以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. 環境變量管理:為了安全起見,建議將數據庫的用戶名、密碼等敏感信息存儲在環境變量中,而不是硬編碼在代碼中??梢允褂?code>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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女