Kết nối bộ bản sao MongoDB

Nhận toàn quyền truy cập vào MongoDB. The Definitive Guide, 2nd Edition và hơn 60 nghìn đầu sách khác, với 10 ngày dùng thử miễn phí O'Reilly

Ngoài ra còn có các sự kiện trực tuyến trực tiếp, nội dung tương tác, tài liệu chuẩn bị chứng nhận, v.v.

Ghi chú. Bạn đang xem phiên bản 3. 3 của nút. tài liệu trình điều khiển js. Bấm vào đây để có phiên bản mới nhất

  • hướng dẫn
  • Kết nối với MongoDB

Kết nối với MongoDB

Sử dụng phương pháp client.connect để kết nối với triển khai MongoDB đang chạy

Kết nối với một trường hợp MongoDB duy nhất

Để kết nối với một phiên bản MongoDB, hãy chỉ định URI của phiên bản MongoDB để kết nối với

Trong ví dụ sau, chuỗi kết nối chỉ định các phiên bản

const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');

// Connection URL
const url = 'mongodb://localhost:27017,localhost:27018/?replicaSet=foo';

// Database Name
const dbName = 'myproject';

// Create a new MongoClient
const client = new MongoClient(url);

// Use connect method to connect to the Server
client.connect(function(err) {
  assert.equal(null, err);
  console.log("Connected correctly to server");

  const db = client.db(dbName);

  client.close();
});
1 chạy trên
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');

// Connection URL
const url = 'mongodb://localhost:27017,localhost:27018/?replicaSet=foo';

// Database Name
const dbName = 'myproject';

// Create a new MongoClient
const client = new MongoClient(url);

// Use connect method to connect to the Server
client.connect(function(err) {
  assert.equal(null, err);
  console.log("Connected correctly to server");

  const db = client.db(dbName);

  client.close();
});
3 và
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');

// Connection URL
const url = 'mongodb://localhost:27017,localhost:27018/?replicaSet=foo';

// Database Name
const dbName = 'myproject';

// Create a new MongoClient
const client = new MongoClient(url);

// Use connect method to connect to the Server
client.connect(function(err) {
  assert.equal(null, err);
  console.log("Connected correctly to server");

  const db = client.db(dbName);

  client.close();
});
4

Trong các trường hợp sau, bạn có thể truy cập phiên bản DDS từ Internet bằng cách liên kết EIP với phiên bản

cảnh 1. Các ứng dụng của bạn được triển khai trên ECS và không ở cùng khu vực với phiên bản DDS

Hình 1 Truy cập DDS từ ECS giữa các khu vực

Kết nối bộ bản sao MongoDB

kịch bản 2. Các ứng dụng của bạn được triển khai trên máy chủ đám mây do các nhà cung cấp khác cung cấp

Hình 2 Truy cập DDS từ các máy chủ đám mây khác

Kết nối bộ bản sao MongoDB

Phần này mô tả cách sử dụng Mongo Shell để kết nối với một phiên bản bộ bản sao thông qua EIP

Bạn có thể kết nối với một phiên bản bằng kết nối SSL hoặc kết nối không được mã hóa. Kết nối SSL được mã hóa và an toàn hơn. Để cải thiện bảo mật truyền dữ liệu, hãy kết nối với các phiên bản bằng SSL

điều kiện tiên quyết

  1. Để biết chi tiết về cách tạo và đăng nhập vào ECS, hãy xem Mua ECS và Đăng nhập vào ECS
  2. Liên kết EIP với phiên bản bộ bản sao và định cấu hình quy tắc nhóm bảo mật để đảm bảo rằng phiên bản bộ bản sao có thể được truy cập từ ECS
  3. Cài đặt ứng dụng khách MongoDB trên ECS

    Để biết chi tiết về cách cài đặt ứng dụng khách MongoDB, hãy xem Làm cách nào tôi có thể cài đặt ứng dụng khách MongoDB?

    Kết nối bộ bản sao MongoDB

    Phiên bản của ứng dụng khách MongoDB đã cài đặt phải giống với phiên bản phiên bản

Kết nối SSL

Kết nối bộ bản sao MongoDB

Nếu bạn kết nối với một phiên bản qua kết nối SSL, trước tiên hãy bật SSL. Nếu không, một lỗi được báo cáo. Để biết chi tiết về cách bật SSL, hãy xem Bật và Tắt SSL

  1. Đăng nhập vào bảng điều khiển quản lý
  2. Nhấp vào
    Kết nối bộ bản sao MongoDB
    ở góc trên bên trái và chọn khu vực và dự án.
  3. Nhấp vào
    Kết nối bộ bản sao MongoDB
    ở góc trên bên trái của trang và chọn Cơ sở dữ liệu > Dịch vụ cơ sở dữ liệu tài liệu.
  4. Trên trang Phiên bản, nhấp vào tên phiên bản
  5. Trong ngăn điều hướng bên trái, chọn Kết nối
  6. Trong vùng Thông tin cơ bản, hãy nhấp vào
    Kết nối bộ bản sao MongoDB
    bên cạnh trường SSL.
  7. Tải chứng chỉ gốc lên ECS để kết nối với phiên bản

    Phần sau đây mô tả cách tải chứng chỉ lên Linux và Window ECS

    • Trong Linux, hãy chạy lệnh sau

      scp@

      Kết nối bộ bản sao MongoDB

      • IDENTITY_FILE là thư mục chứa chứng chỉ gốc. Quyền truy cập tệp là 600
      • REMOTE_USER là người dùng hệ điều hành ECS
      • REMOTE_ADDRESS là địa chỉ ECS
      • REMOTE_DIR là thư mục của ECS mà chứng chỉ gốc được tải lên

    • Trong Windows, tải chứng chỉ gốc lên bằng công cụ kết nối từ xa
  8. Kết nối với phiên bản trong thư mục chứa ứng dụng khách MongoDB

    Phương pháp 1. Sử dụng địa chỉ kết nối mạng công cộng

    lệnh ví dụ

    ./mongo "" --ssl --sslCAFile --sslAllowInvalidHostnames

    Mô tả về Thông Số

    • Địa chỉ kết nối mạng công cộng. Trên trang Phiên bản, nhấp vào phiên bản để chuyển sang trang Thông tin cơ bản. Trong ngăn điều hướng bên trái, chọn Kết nối. Nhấp vào tab Kết nối công cộng và lấy địa chỉ kết nối mạng công cộng

      Hình 3 Lấy địa chỉ kết nối mạng công cộng

      Kết nối bộ bản sao MongoDB

      Định dạng của địa chỉ kết nối công cộng như sau. Không thể thay đổi tên người dùng cơ sở dữ liệu rwuser và quản trị viên cơ sở dữ liệu xác thực

      mongodb. //rwuser. @192. 168. xx. xx. 8635/test?authSource=admin

      Hãy chú ý đến các thông số sau trong địa chỉ kết nối mạng công cộng

      Bảng 1 Mô tả thông số

      Tham số

      Sự miêu tả

      người dùng rwuser

      Tên tài khoản, tức là tên người dùng cơ sở dữ liệu

      Mật khẩu cho tài khoản cơ sở dữ liệu. Thay thế nó bằng mật khẩu thực tế

      Nếu mật khẩu chứa dấu (@), dấu chấm than (. ) hoặc dấu phần trăm (%), thay thế chúng bằng mã URL thập lục phân (ASCII) %40, %21 và %25 tương ứng

      Ví dụ: nếu mật khẩu là ****@ %***. , mã URL tương ứng là **** %40%25*** %21

      192. 168. xx. xx. 8635

      EIP và cổng được liên kết với nút của phiên bản bộ bản sao

      authSource=quản trị viên

      Cơ sở dữ liệu xác thực của người dùng rwuser phải là quản trị viên. authSource=admin đã được sửa trong lệnh

    • FILE_PATH là đường dẫn lưu trữ chứng chỉ gốc
    • --sslAllowInvalidHostname. Chứng chỉ bộ bản sao được tạo bằng địa chỉ IP quản lý nội bộ để đảm bảo rằng giao tiếp nội bộ không chiếm các tài nguyên như địa chỉ IP và băng thông của người dùng. --sslAllowInvalidHostnames là cần thiết cho kết nối SSL thông qua mạng công cộng

    Ví dụ lệnh

    /mongo "mongodb. //rwuser. @192. 168. xx. xx. 8635/test?authSource=admin" --ssl --sslCAFile/tmp/ca. crt --sslAllowInvalidHostnames

    Kết nối bộ bản sao MongoDB

    Phương pháp 2. Sử dụng EIP

    lệnh ví dụ

    ./mongo --host --port -u -p --authenticationDatabaseadmin --ssl --sslCAFile --sslAllowInvalidHostnames

    Mô tả về Thông Số

    • DB_HOST là EIP được liên kết với nút cá thể được kết nối

      Trên trang Phiên bản, nhấp vào phiên bản để chuyển đến trang Thông tin cơ bản. Chọn Kết nối> Kết nối công khai và lấy EIP của nút tương ứng

    • DB_PORT là cổng cơ sở dữ liệu. Số cổng mặc định là 8635

      Bạn có thể nhấp vào phiên bản để đến trang Thông tin cơ bản. Trong ngăn điều hướng bên trái, chọn Kết nối. Trên trang được hiển thị, nhấp vào tab Kết nối công cộng và lấy cổng từ trường Cổng cơ sở dữ liệu trong vùng Thông tin cơ bản

      Bộ bản sao MongoDB hoạt động như thế nào?

      Bộ bản sao là một nhóm các phiên bản mongod duy trì cùng một bộ dữ liệu . Một bộ bản sao chứa một số nút mang dữ liệu và tùy chọn một nút trọng tài. Trong số các nút mang dữ liệu, một và chỉ một thành viên được coi là nút chính, trong khi các nút khác được coi là nút phụ.

      Làm cách nào để thêm nút vào bộ bản sao MongoDB?

      Bắt đầu từ MongoDB 5. 0, các nút chỉ được định cấu hình bằng địa chỉ IP sẽ không xác thực khởi động và sẽ không khởi động. .
      Bắt đầu phiên bản mongod mới. Chỉ định thư mục dữ liệu và tên bộ bản sao. .
      Kết nối với bộ bản sao chính. .
      Sử dụng rs. add() để thêm thành viên mới vào bộ bản sao

      Làm cách nào để chạy bộ bản sao MongoDB trên Docker?

      Thiết lập vùng chứa của chúng tôi . Bắt đầu một vùng chứa từ một hình ảnh. -p 30001. 27017. Hiển thị cổng 27017 trong vùng chứa của chúng tôi, dưới dạng cổng 30001 trên máy chủ cục bộ. --name mongo1. đặt tên cho vùng chứa này là “mongo1” --net my-mongo-cluster. Thêm vùng chứa này vào mạng “my-mongo-cluster”