Chuỗi kết nối trong MongoDB Atlas ở đâu?

Một trong các phương thức đã cho sẽ thiết lập chuỗi kết nối MongoDB. Định dạng kết nối danh sách hạt giống DNS hoặc định dạng chuỗi kết nối tiêu chuẩn

Định dạng tiêu chuẩn để kết nối chuỗi

Có ba loại triển khai MongoDB cơ bản. độc lập, bộ bản sao và cụm phân mảnh, tất cả đều được mô tả tại đây

Đây là cách điển hình để tham gia URI

mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

ví dụ

độc lập
mongodb://mongodb0.example.com:27017
Độc lập thực thi kiểm soát truy cập
mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
bộ bản sao
mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myRepl
Bộ bản sao thực thi kiểm soát truy cập
mongodb://myDBReader:D1fficultP%[email protected]:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
cụm phân đoạn
mongodb://mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017
Cụm phân mảnh thực thi kiểm soát truy cập
mongodb://myDBReader:D1fficultP%[email protected]:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin

Các thành phần của một chuỗi kết nối

Các thành phần của chuỗi kết nối URI tiêu chuẩn

  1. mongodb. // – Tiền tố cần thiết cho biết chuỗi kết nối tiêu chuẩn
  2. tên tài khoản. password@ – Thông tin đăng nhập xác thực là tùy chọn. Nếu authSource được cung cấp, máy khách sẽ cố gắng xác thực người dùng. Không chỉ định authSource, máy khách sẽ xác minh người dùng dựa trên defaultauthdb. Ngoài ra, cơ sở dữ liệu quản trị được sử dụng nếu không cung cấp defaultauthdb
  3. máy chủ [. port] – Máy chủ (và tùy chọn là số cổng) mà phiên bản mongod đang hoạt động trên đó (hoặc phiên bản mongos trong trường hợp cụm phân đoạn). Bạn có thể chỉ định tên máy chủ, địa chỉ IP hoặc ổ cắm trong miền UNIX. Cho biết số lượng máy chủ cần thiết cho cấu trúc liên kết triển khai của bạn.
    Trong trường hợp một phiên bản mongod duy nhất, hãy cung cấp tên máy chủ của phiên bản mongod.
    Cung cấp (các) tên máy chủ của (các) phiên bản mongod được chỉ định trong cài đặt bộ bản sao cho bộ bản sao.
    Cho biết (các) tên máy chủ của cá thể mongos cho một cụm phân đoạn. Không chỉ định số cổng, cổng chung 27017 được sử dụng.
  4. /defaultauthdb – Tùy chọn. Nếu chuỗi kết nối chứa tên người dùng. mật khẩu @ thông tin đăng nhập, nhưng tùy chọn authSource không được cung cấp, cơ sở dữ liệu xác thực được sử dụng. Máy khách sử dụng cơ sở dữ liệu quản trị để xác thực người dùng nếu cả authSource và defaultauthdb đều không được cung cấp
  5. ? – Optional. Connection-specific parameters are specified in name>=value> pairs in the query string. The list of available choices may be seen in the Connection String Options section. Slash (/) must be included between the host and question mark (?) to begin the options string if no database is specified in the connection string.

Định dạng kết nối cho DNS Seed List

Ngoài ra còn có một danh sách hạt giống do DNS tạo cho các kết nối MongoDB. Việc sử dụng DNS để tạo danh sách các máy chủ có thể truy cập mang lại sự linh hoạt hơn trong triển khai và khả năng chuyển đổi máy chủ theo chu kỳ mà không cần cấu hình lại máy khách

Sử dụng tiền tố mongodb+srv thay vì tiền tố chuỗi kết nối MongoDB thông thường để sử dụng danh sách hạt giống DNS. Để cho người dùng biết rằng tên máy chủ theo sau là bản ghi DNS SRV, hãy sử dụng tiền tố +srv. Sau đó, mongosh hoặc trình điều khiển sẽ truy vấn hệ thống tên miền (DNS) để khám phá máy chủ nào đang thực thi các phiên bản mongod

Ghi chú. Tùy chọn tls (hoặc ssl tương ứng) được đặt thành true nếu biến chuỗi kết nối +srv được sử dụng. Bằng cách chỉ định rõ ràng tùy chọn tls thành false trong chuỗi truy vấn, bạn có thể ghi đè hành vi này và sử dụng tls=false thay thế

Chuỗi kết nối danh sách hạt giống DNS thường trông giống như ví dụ sau

mongodb+srv://server.example.com/

Thiết lập DNS có thể trông như thế này

________số 8

Kết nối với các thành viên của danh sách hạt giống cho phép khách hàng truy cập vào thư mục của các thành viên khác trong bộ bản sao để thiết lập kết nối. Máy chủ có thể tạo danh sách máy chủ khác với danh sách hạt giống do khách hàng thường sử dụng bí danh DNS trong danh sách hạt giống của họ. Các thành viên của bộ bản sao chỉ có thể được truy cập thông qua tên máy chủ của họ;

Ghi chú. Các bản ghi SRV được cung cấp bởi tên máy chủ được chỉ định phải có cùng một miền mẹ (ví dụ. com) làm tên máy chủ. Bạn sẽ không được phép kết nối nếu tên miền mẹ và tên máy chủ không khớp

Ngoài ra, các chuỗi kết nối danh sách hạt giống DNS cho phép bạn cung cấp các tham số như một phần của URL giống như cách mà các tham số thông thường thực hiện. Bạn cũng có thể sử dụng bản ghi TXT để biểu thị các cài đặt sau khi sử dụng chuỗi kết nối danh sách hạt giống DNS

authSource
replicaSet

Chỉ có thể chỉ định một bản ghi TXT cho mỗi phiên bản mongod. Máy khách sẽ trả về lỗi nếu DNS có nhiều mục nhập TXT hoặc nếu mục nhập TXT chứa một thuộc tính không phải là replicaSet hoặc authSource

Bản ghi TXT cho máy chủ. thí dụ. com sẽ trông như thế này

mongodb://mongodb0.example.com:27017
0

Chuỗi kết nối này được tạo từ các mục DNS SRV cũng như cài đặt bản ghi TXT như sau

mongodb://mongodb0.example.com:27017
1

Có thể ghi đè các lựa chọn của bản ghi TXT bằng cách cung cấp tham số chuỗi truy vấn của URL. Chuỗi truy vấn trong tình huống sau sẽ ghi đè tùy chọn authSource được đặt trong bản ghi TXT của mục nhập DNS

mongodb://mongodb0.example.com:27017
2

Sử dụng ghi đè authSource, chuỗi kết nối điển hình sẽ trông như thế này

mongodb://mongodb0.example.com:27017
3

Ghi chú. Nếu tên máy chủ được chỉ định trong chuỗi kết nối không có bất kỳ bản ghi DNS nào được liên kết với nó, tham số mongodb+srv sẽ không thành công. Lưu ý cuối cùng, khi sử dụng sửa đổi chuỗi kết nối +srv, tùy chọn sử dụng TLS (hoặc bảo mật SSL tương đương) được đặt thành true cho kết nối. Bằng cách chỉ định rõ ràng tùy chọn tls thành false trong chuỗi truy vấn, bạn có thể ghi đè hành vi này và sử dụng tls=false thay thế

Nhận chuỗi kết nối MongoDB của bạn

Bạn sẽ cần một chuỗi URI để kết nối với MongoDB. Nếu bạn liên kết với một triển khai MongoDB bằng trình điều khiển mongo shell, Compass hoặc MongoDB, bạn sẽ được yêu cầu cung cấp URI (Mã định danh tài nguyên thống nhất)

Giả định rằng bạn đã thiết lập xác thực trong MongoDB và tạo tên người dùng và mật khẩu để đọc và ghi quyền vào cơ sở dữ liệu MongoDB khi sử dụng chuỗi URI được cung cấp

Trong trường hợp này, bạn có thể sử dụng thông tin đăng nhập và mật khẩu mà bạn đã tạo cho vai trò readWriteAnyDatabase cũng như tên cơ sở dữ liệu quản trị trong chuỗi kết nối của bạn để kết nối với MongoDB

Tùy chọn cho chuỗi kết nối

Phần này giải thích các cách khác nhau mà bạn có thể kết nối với Internet

  1. Ở dạng cặp tên=giá trị, có sẵn các tùy chọn kết nối
  2. Khi sử dụng trình điều khiển, tên tùy chọn không phân biệt chữ hoa chữ thường
  3. Tên tùy chọn không phân biệt chữ hoa chữ thường khi sử dụng mongosh hoặc shell mongo truyền thống (phiên bản 4. 2 trở lên)
  4. Tên tùy chọn phân biệt chữ hoa chữ thường khi sử dụng phiên bản 4. 0 hoặc shell mongo kế thừa cũ hơn
  5. Trường hợp không bao giờ là một vấn đề khi hiển thị giá trị

Ký tự dấu và (&) có thể phân tách các lựa chọn, chẳng hạn như name1=value1&name2=value2. Các tham số ReplicaSet và connectTimeoutMS được bao gồm trong kết nối sau

mongodb://mongodb0.example.com:27017
4

Ghi chú. Trình điều khiển hiện chấp nhận dấu chấm phẩy (;) làm dấu tách tùy chọn để duy trì khả năng tương thích với phần mềm cũ hơn

Ví dụ chuỗi kết nối

Bạn sẽ tìm thấy các ví dụ về URI cho các điểm kết nối phổ biến trong các ví dụ bên dưới

Chạy máy chủ cơ sở dữ liệu cục bộ

Cổng mặc định của máy chủ cơ sở dữ liệu cục bộ có thể được sử dụng để thiết lập kết nối bằng lệnh sau

mongodb://mongodb0.example.com:27017
5
Cơ sở dữ liệu hành chính

Để đăng nhập vào cơ sở dữ liệu quản trị dưới dạng foss bằng mật khẩu fosslinux, phải tuân theo các lệnh sau

mongodb://mongodb0.example.com:27017
6
Một cơ sở dữ liệu của hồ sơ

Kết nối và đăng nhập vào cơ sở dữ liệu bản ghi bằng mật khẩu fosslinux với tư cách quản trị viên hệ thống

mongodb://mongodb0.example.com:27017
7
Ổ cắm tên miền trong UNIX

Khi đính kèm vào ổ cắm tên miền UNIX, hãy sử dụng chuỗi kết nối được mã hóa URL

MongoDB liên kết đến một điểm cuối miền UNIX với đường dẫn sau

mongodb://mongodb0.example.com:27017
8

Ghi chú. tất cả các trình điều khiển không hỗ trợ ổ cắm miền UNIX. Để tìm hiểu thêm về trình điều khiển của bạn, hãy vào phần Tài liệu trình điều khiển

Bản sao được đặt với người dùng trên các máy riêng biệt

Dưới đây là kết nối tới bản sao hai thành viên được đặt trên db1. thí dụ. mạng và db2. thí dụ. mạng lưới

mongodb://mongodb0.example.com:27017
9

Ghi chú. (Các) phiên bản mongod được cung cấp trong cấu hình bộ bản sao phải được chỉ định cho bộ bản sao

Bản sao được đặt với người dùng trên máy chủ cục bộ

Các cổng 27017, 27018 và 27019 được sử dụng để thiết lập kết nối với một bộ bản sao hoạt động trên máy chủ cục bộ

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
0
Đọc bộ bản sao phân phối

Kết nối với bộ bản sao gồm ba thành viên và phân phối số lần đọc cho các thành viên phụ yêu cầu phương pháp được liệt kê bên dưới

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
1
Bộ bản sao ghi mối quan tâm cấp cao

Kết nối với một bộ bản sao có chứa mối quan tâm ghi và thời gian chờ hai giây trong khi chờ sao chép qua phần lớn các thành viên biểu quyết mang dữ liệu được thực hiện bằng cách sử dụng cấu hình này

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
2
Cụm chia sẻ

Có thể kết nối với một cụm phân đoạn đa thể hiện bằng cách sử dụng như sau

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
3
Cụm bản đồ MongoDB

Phần sau thiết lập kết nối với cụm MongoDB Atlas bằng thông tin xác thực AWS IAM để xác thực

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
4

Ví dụ này cho thấy cách sử dụng phương thức xác thực MONGODB-AWS và $external authSource để kết nối với Atlas thông qua thông tin đăng nhập AWS IAM

Phải cung cấp giá trị AWS SESSION TOKEN authMechanismProperties nếu bạn đang sử dụng mã thông báo phiên AWS, như sau

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
5

Ghi chú. Miễn là ID khóa truy cập AWS hoặc Khóa truy cập bí mật chứa bất kỳ ký tự nào sau đây. (. / ?

Bạn cũng có thể sử dụng các biến môi trường AWS IAM thông thường để chỉ định các thông tin xác thực này trên nền tảng của mình. Khi sử dụng xác thực MONGODB-AWS, mongosh sẽ kiểm tra và xác định xem có các biến môi trường sau đây hay không

Chuỗi kết nối không cần bao gồm các thông tin đăng nhập này nếu được định cấu hình

Trong bash shell, các biến sau được đặt trong ví dụ sau

mongodb://myDBReader:D1fficultP%[email protected]:27017/?authSource=admin
9

Cú pháp thiết lập các biến môi trường sẽ khác trong các trình bao khác, vì vậy hãy lưu ý điều này. Để biết thêm thông tin, hãy truy cập tài liệu về nền tảng của bạn

Lệnh sau sẽ xác nhận xem các biến môi trường nhất định đã được đặt hay chưa

mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myRepl
0

Đoạn mã sau trình bày cách thiết lập kết nối với cụm MongoDB Atlas bằng cách sử dụng các biến được liệt kê bên dưới

mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myRepl
1

Đó là tất cả những gì bạn cần biết về chuỗi kết nối trong MongoDB. Chúng tôi hy vọng bạn thấy hướng dẫn bài viết hữu ích. Nếu có, vui lòng để lại nhận xét trong phần bình luận. Cảm ơn vì đã đọc

Chuỗi kết nối trong MongoDB là gì?

Chuỗi kết nối mô tả các máy chủ sẽ được sử dụng và các tùy chọn . Định dạng của Chuỗi kết nối là. mongodb. //[tên tài khoản. mật khẩu@]máy chủ1[. cổng1][,máy chủ2[. cổng2],. [,máy chủN[. portN]]][/[cơ sở dữ liệu. bộ sưu tập][?options]] mongodb. // là tiền tố bắt buộc để xác định rằng đây là một chuỗi ở định dạng kết nối tiêu chuẩn.

Làm cách nào tôi có thể thấy các kết nối trong MongoDB?

Quy trình .
Bắt đầu một thiết bị đầu cuối trong máy chủ chạy máy chủ liên kết
Ban hành lệnh sau. telnet < mongodb_server_name > 28017. Nếu kết nối thành công, bạn sẽ nhận được đầu ra tương tự sau từ lệnh. Đang thử 9. 30. 252. 5. Đã kết nối với 9. 30. 252. 5. Ký tự thoát là '^]'

MongoDB kết nối với cơ sở dữ liệu Atlas như thế nào?

Tài liệu MongoDB
Bản đồ MongoDB
Bắt đầu với Atlas
Tạo một tài khoản Atlas
Triển khai một cụm miễn phí
Thêm địa chỉ IP kết nối của bạn vào danh sách truy cập IP của bạn
Tạo người dùng cơ sở dữ liệu cho cụm của bạn
Kết nối với cụm của bạn

Tại sao MongoDB không kết nối với Atlas?

Kiểm tra xem bạn có đang sử dụng đúng tên người dùng và mật khẩu cho người dùng cơ sở dữ liệu của mình không và bạn có đang kết nối với đúng cơ sở triển khai cơ sở dữ liệu không . Kiểm tra xem bạn có đang chỉ định đúng cơ sở dữ liệu authSource trong chuỗi kết nối của mình không.