RethinkDB: 入門指南

學習如何在 Stackhero 上設置及保護您的 RethinkDB 實例

👋 歡迎來到 Stackhero 文件!

Stackhero 提供即用的 RethinkDB cloud 解決方案,帶來多項好處,包括:

  • 只需一鍵即可輕鬆進行 更新
  • 透過 專用私人 VM 提供最佳的 效能 和強大的 安全性

節省時間簡化生活:只需 5 分鐘 即可嘗試 Stackhero 的 RethinkDB cloud hosting 解決方案!

在 Stackhero 上保護您的 RethinkDB 實例,首先要設置一個強而有力的管理員密碼。您可以連接到 RethinkDB 的網頁介面,進入 Data Explorer 分頁,然後執行以下查詢:

r.db('rethinkdb').table('users').get('admin').update({ password: '<PASSWORD>' })

請將 <PASSWORD> 替換為您想設定的安全密碼。

如果您需要對 RethinkDB 實例進行 dump 或還原操作,可以從本地電腦或其他伺服器使用 RethinkDB CLI。所有 Stackhero 服務預設都使用加密連線(TLS),因此您需要加上 --tls-cert 參數,指定本地 CA 憑證的位置。

例如,以下是備份 RethinkDB 資料庫的指令:

rethinkdb dump \
  --tls-cert /etc/ssl/certs/ca-certificates.crt \
  -c <XXXXXX>.stackhero-network.com:29015 \
  -p

請將 <XXXXXX> 替換為您實際的 Stackhero 實例名稱。

由於 RethinkDB 的連線已經透過 TLS 加密,而官方的 RethinkDB client library 並不支援 TLS,建議您改用 rethinkdbdash library。

您可以透過 npm 安裝 rethinkdbdash

npm install rethinkdbdash

以下是一個簡單範例,展示如何讓您的 Node.js 應用程式連接到 RethinkDB 資料庫。這個設定包含伺服器主機、連接埠、連線數量限制及 SSL 設定等資訊。

const rethinkdbdash = require('rethinkdbdash');

const r = rethinkdbdash({
  servers: [
    {
      host: '<XXXXXX>.stackhero-network.com',
      port: 28015
    }
  ],
  ssl: true,
  buffer: 20, // 最少保持開啟的連線數
  max: 100,   // 最大連線數
  timeoutGb: 30 * 1000, // 未使用連線的保留時間(毫秒)
  db: '<DATABASE>',
  authKey: '<PASSWORD>',
  // silent: true, // 如需關閉 stderr 日誌,可取消註解此行
});

請將 <XXXXXX><DATABASE><PASSWORD> 替換為您自己的設定值。

按照以上步驟,您的 RethinkDB 實例便會在 Stackhero 上安全地運作。如有任何疑問或需要進一步協助,歡迎隨時聯絡我們的支援團隊。