溫馨提示×

Ubuntu Node.js日志中數據庫連接問題排查

小樊
45
2025-08-21 03:34:57
欄目: 編程語言

在Ubuntu系統中排查Node.js日志中的數據庫連接問題,可按以下步驟進行:

  1. 檢查數據庫服務狀態
    確保數據庫服務(如MySQL)已啟動,使用命令:

    sudo systemctl status mysql  # 查看服務狀態  
    sudo systemctl start mysql   # 啟動服務(若未運行)  
    
  2. 驗證數據庫配置參數
    檢查Node.js代碼中的連接配置(主機、端口、用戶名、密碼、數據庫名)是否正確,可通過數據庫管理工具(如MySQL Workbench)測試連接。

  3. 排查防火墻與網絡連通性

    • 確保防火墻允許數據庫端口(如MySQL默認3306)的通信:
      sudo ufw allow 3306/tcp  # 開放端口  
      sudo ufw reload          # 重新加載防火墻規則  
      
    • 使用pingtelnet測試Node.js服務器與數據庫服務器的網絡連通性。
  4. 確認數據庫用戶權限
    登錄數據庫,檢查用戶是否有連接權限:

    SHOW GRANTS FOR 'your_username'@'localhost';  
    GRANT ALL PRIVILEGES ON your_database.* TO 'your_username'@'localhost';  
    FLUSH PRIVILEGES;  
    
  5. 檢查數據庫驅動與連接池配置

    • 確保已安裝正確的數據庫驅動(如MySQL需mysqlmysql2包),并在代碼中正確引入。
    • 若使用連接池,確認connectionLimit等參數配置合理,避免連接耗盡。
  6. 查看詳細日志與錯誤信息

    • 通過journalctl查看系統日志,或使用Node.js日志庫(如Winston)記錄的錯誤日志,定位具體錯誤原因(如超時、認證失敗等)。
    • 在代碼中添加錯誤處理邏輯,捕獲并打印詳細錯誤信息:
      connection.connect(err => {  
        if (err) console.error('連接失敗:', err);  
      });  
      
  7. 重啟相關服務
    完成配置修改后,重啟Node.js應用和數據庫服務:

    sudo systemctl restart mysql  
    # 重啟Node.js應用(根據實際部署方式,如pm2)  
    pm2 restart your-app  
    

參考來源

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女