Thay đổi cổng mà MongoDB lắng nghe là một cách hay để ẩn máy chủ của bạn khỏi trình thu thập thông tin và các cuộc tấn công tự động
Nếu bạn kiểm tra cửa sổ nhắc lệnh từ nơi bạn đã khởi động MongoDB Server, bạn có thể thấy như sau
Dòng cuối cùng [được đánh dấu], được in khi bạn đã kết nối thành công với Máy chủ MongoDB
Định dạng lệnh kết nối MongoDB
Kết nối và đăng nhập với tên người dùng và mật khẩu vào cơ sở dữ liệu mặc định
Để kết nối với Máy chủ MongoDB bằng tên người dùng và mật khẩu, bạn phải sử dụng '[email được bảo vệ]/dbname'. Trong đó tên người dùng là tên người dùng, mật khẩu là mật khẩu cho người dùng đó
$ sudo service mongodb restart
[ ok ] Restarting database: mongod.
3Với lệnh trên, người dùng 'mongo_admin' có mật khẩu 'AxB6_w3r' được kết nối với cơ sở dữ liệu mặc định tại localhost. Đầu ra của lệnh trên như sau
Kết nối và đăng nhập với tên người dùng và mật khẩu vào một cơ sở dữ liệu cụ thể
Để kết nối với Máy chủ MongoDB bằng tên người dùng và mật khẩu, bạn phải sử dụng '[email được bảo vệ]/dbname'. Trong đó username là tên người dùng, password là mật khẩu của người dùng đó và dbname là cơ sở dữ liệu mà bạn muốn kết nối tới
$ sudo service mongodb restart
[ ok ] Restarting database: mongod.
4Với lệnh trên, người dùng 'mongo_admin' có mật khẩu 'AxB6_w3r' được kết nối với cơ sở dữ liệu 'w3r' tại localhost. Đầu ra của lệnh trên như sau
Ghi chú. Bạn có thể sử dụng nhiều tên máy chủ để kết nối với một lệnh duy nhất
Kết nối và đăng nhập bằng tên người dùng và mật khẩu vào một cơ sở dữ liệu cụ thể tại một cổng cụ thể
Để kết nối với Máy chủ MongoDB bằng tên người dùng và mật khẩu, bạn phải sử dụng '[email được bảo vệ]/dbname'. Trong đó tên người dùng là tên người dùng, mật khẩu là mật khẩu cho người dùng đó, dbname là cơ sở dữ liệu mà bạn muốn kết nối và tùy ý bạn có thể chỉ định số cổng mà bạn muốn kết nối.
$ sudo service mongodb restart
[ ok ] Restarting database: mongod.
5Với lệnh trên, người dùng 'mongo_admin' có mật khẩu 'AxB6_w3r' được kết nối với cơ sở dữ liệu 'w3r' tại localhost ở cổng 29000. Nếu bạn không đề cập đến số cổng, nó sẽ kết nối tại cổng 27107. Đầu ra của lệnh trên như sau
Để kết nối với nhiều máy chủ MongoDB chạy trên các tên máy chủ khác nhau
Để kết nối với nhiều máy chủ MongoDB chạy trên các tên máy chủ khác nhau, hãy sử dụng các lệnh sau. Loại tình huống này có thể phát sinh khi sử dụng 'bộ bản sao'. Một bộ bản sao bao gồm hai hoặc nhiều nút là bản sao của nhau. Một bộ Bản sao có thể tự động phát hiện một nút chính. Cơ chế này rất tốt để đảm bảo rằng khi máy chủ bị lỗi, có thể khôi phục
$ sudo service mongodb restart
[ ok ] Restarting database: mongod.
6Để kết nối với nhiều máy chủ MongoDB chạy trên cùng một tên máy chủ nhưng trên các cổng khác nhau
Để kết nối với nhiều máy chủ MongoDB chạy trên cùng một tên máy chủ nhưng trên các cổng khác nhau, hãy sử dụng lệnh sau. Điều này cũng được sử dụng cho các bộ bản sao
$ sudo service mongodb restart
[ ok ] Restarting database: mongod.
7Tùy chọn
Có một số tùy chọn có thể được sử dụng cùng với định dạng tiêu chuẩn được thảo luận ở trên. Bảng sau đây mô tả những
OptionsDescriptionsreplicaSet=nameKhi làm việc với bất kỳ ngôn ngữ lập trình được hỗ trợ nào, trình điều khiển [đoạn mã cần thiết để kết nối để hoạt động với MongoDB] đảm bảo rằng tên của bộ bản sao khớp với nhau. Nó cố gắng tìm tất cả các nút thành viên của tập hợp. nô lệOk=true. falseĐối với một bộ bản sao có nhiều máy chủ, nếu dữ liệu được ghi, nó sẽ được gửi tới máy chủ chính và nếu nó được đọc, nó sẽ được gửi tới tất cả các máy chủ. an toàn = đúng. falseNếu được đặt thành true, trình điều khiển sẽ gửi lệnh getLastError sau mỗi thao tác cập nhật để đảm bảo rằng quá trình cập nhật được thực hiện thành công. Nếu được đặt thành false, không có lệnh getLastError nào được gửi. w=n{ w. n } được trình điều khiển thêm vào lệnh getLastError. Nó ngụ ý an toàn = đúng. wtimeoutMS=ms{ thời gian chờ. ms } được trình điều khiển thêm vào lệnh getLastError. Nó ngụ ý an toàn = đúng. fsync=true. falseNếu được đặt thành true, { wtimeout. ms } được trình điều khiển thêm vào lệnh getLastError. Nó ngụ ý an toàn = đúng. Nếu được đặt thành false, không có lệnh getLastError nào được gửi. tạp chí = đúng. falseNếu được đặt thành true, đồng bộ hóa với nhật ký [viết một mục nhập trước khi nó được chuyển giao cho cơ sở dữ liệu]. Ngụ ý giới hạn thời gian safe=trueconnectTimeoutMS=msA, vượt quá thời gian chờ xảy ra trong khi kết nối đang được mở. socketTimeoutMS=msA giới hạn thời gian, vượt quá thời gian chờ xảy ra trong khi gửi hoặc nhận trên ổ cắm diễn ra