MongoDB chạy như một chương trình tiêu chuẩn. Bạn có thể bắt đầu MongoDB từ một dòng lệnh bằng cách ban hành lệnh mongod
và chỉ định các tùy chọn. Để biết danh sách các tùy chọn, xem tham chiếu mongod
. MongoDB cũng có thể chạy như một dịch vụ Windows. Để biết chi tiết, hãy xem Start MongoDB Community Edition dưới dạng dịch vụ Windows. Để cài đặt MongoDB, xem Cài đặt MongoDB.
Các ví dụ sau đây giả định thư mục chứa quy trình mongod
nằm trong đường dẫn hệ thống của bạn. Quá trình mongod
là quy trình cơ sở dữ liệu chính chạy trên một máy chủ riêng lẻ.
mongod --fork --logpath /var/log/mongodb/mongod.log
2 cung cấp giao diện MongoDB mạch lạc tương đương với mongod
từ quan điểm của khách hàng. Nhị phân mongod --fork --logpath /var/log/mongodb/mongod.log
4 cung cấp vỏ hành chính.mongod --fork --logpath /var/log/mongodb/mongod.log
4 binary provides the administrative shell.Tài liệu này thảo luận về quá trình mongod
; Tuy nhiên, một số phần của tài liệu này có thể được áp dụng cho các trường hợp
mongod --fork --logpath /var/log/mongodb/mongod.log
2.Theo mặc định, MongoDB lắng nghe các kết nối từ máy khách trên cổng
mongod --fork --logpath /var/log/mongodb/mongod.log
7 và lưu trữ dữ liệu trong thư mục mongod --fork --logpath /var/log/mongodb/mongod.log
8.Trên Windows, con đường này nằm trên ổ đĩa mà bạn bắt đầu MongoDB. Ví dụ: nếu bạn không chỉ định
mongod --fork --logpath /var/log/mongodb/mongod.log
9, hãy khởi động máy chủ MongoDB trên ổ đĩa use admin db.shutdownServer[]
0 lưu trữ tất cả các tệp dữ liệu trong use admin db.shutdownServer[]
1.Để bắt đầu MongoDB bằng tất cả các mặc định, hãy đưa ra lệnh sau tại shell hệ thống:
Nếu bạn muốn mongod
lưu trữ các tệp dữ liệu tại một đường dẫn khác với
mongod --fork --logpath /var/log/mongodb/mongod.log
8, bạn có thể chỉ định use admin db.shutdownServer[]
4. use admin db.shutdownServer[]
4 phải tồn tại trước khi bạn bắt đầu mongod
. Nếu nó không tồn tại, hãy tạo thư mục và các quyền để mongod
có thể đọc và ghi dữ liệu vào đường dẫn này. Để biết thêm thông tin về quyền, hãy xem tài liệu hoạt động bảo mật.Để chỉ định
use admin db.shutdownServer[]
4 cho mongod
để sử dụng làm thư mục dữ liệu, hãy sử dụng tùy chọn mongod --fork --logpath /var/log/mongodb/mongod.log
9. Nhu cầu sau đây sẽ bắt đầu một ví dụ mongod
và lưu trữ dữ liệu trong đường dẫn kill kill -2
2mongod --dbpath /srv/mongodb/
Chỉ có một quy trình duy nhất có thể lắng nghe các kết nối trên giao diện mạng tại một thời điểm. Nếu bạn chạy nhiều quy trình mongod
trên một máy hoặc có các quy trình khác phải sử dụng cổng này, bạn phải gán cho mỗi một cổng khác nhau để nghe các kết nối máy khách.
Để chỉ định một cổng thành mongod
, hãy sử dụng tùy chọn
kill kill -2
5 trên dòng lệnh. Lệnh sau bắt đầu mongod
Nghe trên cổng kill kill -2
7:Sử dụng số cổng mặc định khi có thể, để tránh nhầm lẫn.
Để chạy quy trình mongod
dưới dạng daemon [nghĩa là
kill kill -2
9] và ghi đầu ra của nó vào tệp nhật ký, sử dụng các tùy chọn kill -SIGUSR2
0 và kill -SIGUSR2
1. Bạn phải tạo thư mục nhật ký; Tuy nhiên, mongod
sẽ tạo tệp nhật ký nếu nó không tồn tại.Lệnh sau bắt đầu mongod
dưới dạng daemon và ghi lại đầu ra nhật ký vào
kill -SIGUSR2
4.mongod --fork --logpath /var/log/mongodb/mongod.log
Để biết tổng quan về các cấu hình và triển khai phổ biến cho các trường hợp sử dụng phổ biến, hãy xem cấu hình cơ sở dữ liệu thời gian chạy.
Trong lần tắt sạch, mongod
hoàn thành tất cả các hoạt động đang chờ xử lý, xóa tất cả dữ liệu vào các tệp dữ liệu và đóng tất cả các tệp dữ liệu. Tắt máy khác là ô uế và có thể thỏa hiệp tính hợp lệ của các tệp dữ liệu.
Để đảm bảo tắt máy sạch, luôn luôn tắt máy mongod
bằng một trong các phương pháp sau:
Tắt mongod
từ
mongod --fork --logpath /var/log/mongodb/mongod.log
4 bằng phương pháp kill -SIGUSR2
9 như sau:mongod --fork --logpath /var/log/mongodb/mongod.log
4 using the kill -SIGUSR2
9 method
as follows:use admin db.shutdownServer[]
Gọi cùng một phương thức từ tập lệnh init thực hiện kết quả tương tự.
Đối với các hệ thống có kích hoạt
db.adminCommand[{shutdown : 1, force : true}]
0, người dùng chỉ có thể phát hành kill -SIGUSR2
9 khi được xác thực vào cơ sở dữ liệu db.adminCommand[{shutdown : 1, force : true}]
2 hoặc thông qua giao diện localhost trên các hệ thống mà không được bật xác thực.Chỉ được hỗ trợ trên Linux. Từ dòng lệnh, hãy tắt mongod
bằng tùy chọn
db.adminCommand[{shutdown : 1, force : true}]
4:Khi chạy thể hiện mongod
ở chế độ tương tác [nghĩa là không có
kill -SIGUSR2
0], vấn đề db.adminCommand[{shutdown : 1, force : true}]
7 để thực hiện tắt máy sạch.Chỉ được hỗ trợ trên Linux và MacOS. Từ dòng lệnh, hãy tắt một phiên bản mongod
cụ thể bằng cách sử dụng một trong các lệnh sau:
kill kill -2
Bắt đầu từ MongoDB 4.0.8 [và 3.6.15], nếu một bản sao đặt chính nhận được
db.adminCommand[{shutdown : 1, force : true}]
9, các nỗ lực chính để từ chức trước khi tắt.Nếu bước xuống thành công, trường hợp không bỏ phiếu trong cuộc bầu cử chính của chính mới và tiếp tục tắt máy.
Nếu bước xuống thất bại, trường hợp tiếp tục tắt máy.
Cảnh báo
Không bao giờ sử dụng
db.adminCommand[{shutdown : 1, timeoutSecs : 5}]
0 [tức là db.adminCommand[{shutdown : 1, timeoutSecs : 5}]
1] để chấm dứt một thể hiện Mongod.Bắt đầu từ MongoDB 4.4 Chạy trên Linux:
Khi các quy trình
mongod
và
2 nhận được tín hiệumongod --fork --logpath /var/log/mongodb/mongod.log
4, chi tiết ngược lại được thêm vào nhật ký cho mỗi luồng quy trình.db.adminCommand[{shutdown : 1, timeoutSecs : 5}]
Chi tiết backtrace Hiển thị các yêu cầu chức năng cho quy trình, có thể được sử dụng để chẩn đoán và cung cấp cho hỗ trợ MongoDB nếu được yêu cầu.
Chức năng Backtrace có sẵn cho các kiến trúc này:
5db.adminCommand[{shutdown : 1, timeoutSecs : 5}]
6 [bắt đầu từ MongoDB 4.4.15, 5.0.10 và 6.0]db.adminCommand[{shutdown : 1, timeoutSecs : 5}]
Để phát hành tín hiệu
db.adminCommand[{shutdown : 1, timeoutSecs : 5}]
4 cho quy trình đang chạy mongod
, hãy sử dụng lệnh sau:kill -SIGUSR2
Dữ liệu ngược kết quả được ghi vào logfile mongod
như được cấu hình với
kill -SIGUSR2
1Nếu mongod
là chính trong bộ bản sao, quá trình tắt máy cho phiên bản mongod
này có các bước sau:
Kiểm tra xem các thứ hai được cập nhật như thế nào.
Nếu không có thứ cấp nào trong vòng 10 giây của chính,
mongod
sẽ trả về một tin nhắn rằng nó sẽ không tắt. Bạn có thể chuyển lệnh
4 một đối sốdb.shutdownServer[{timeoutSecs : 5}]
5 để chờ thứ cấp bắt kịp.db.shutdownServer[{timeoutSecs : 5}]
Nếu có thứ cấp trong vòng 10 giây của chính, chính sẽ từ chức và chờ thứ cấp bắt kịp.
Sau 60 giây hoặc một khi thứ cấp đã bắt kịp, chính sẽ ngừng hoạt động.
Nếu không có thứ cấp cập nhật và bạn muốn bản chính bị tắt, hãy đưa ra lệnh
db.shutdownServer[{timeoutSecs : 5}]
4 với đối số db.shutdownServer[{timeoutSecs : 5}]
7, như trong hoạt động mongod --fork --logpath /var/log/mongodb/mongod.log
4 sau:mongod --fork --logpath /var/log/mongodb/mongod.log
4 operation:db.adminCommand[{shutdown : 1, force : true}]
Để tiếp tục kiểm tra các thứ hai trong một số giây được chỉ định nếu không có ai được cập nhật ngay lập tức, vấn đề
db.shutdownServer[{timeoutSecs : 5}]
4 với đối số db.shutdownServer[{timeoutSecs : 5}]
5. MongoDB sẽ tiếp tục kiểm tra các thứ hai cho số giây được chỉ định nếu không có ai được cập nhật ngay lập tức. Nếu bất kỳ thứ hai nào bắt kịp trong thời gian quy định, chính sẽ tắt. Nếu không có thứ hai bắt kịp, nó sẽ không tắt.Các vấn đề lệnh sau đây
db.shutdownServer[{timeoutSecs : 5}]
4 với db.shutdownServer[{timeoutSecs : 5}]
5 được đặt thành mongod
3:db.adminCommand[{shutdown : 1, timeoutSecs : 5}]
Thay thế bạn có thể sử dụng đối số
db.shutdownServer[{timeoutSecs : 5}]
5 với phương thức kill -SIGUSR2
9:db.shutdownServer[{timeoutSecs : 5}]