Để tạo bản sao lưu trong MongoDB, hãy sao chép trực tiếp tệp hoặc sử dụng một trong số các công cụ sao lưu / quản lý.
Có một số cách để sao lưu cơ sở dữ liệu MongoDB:
- Sao chép các tệp dữ liệu
- Sử dụng
mongodump
- Sử dụng Trình quản lý đám mây MongoDB
- Sử dụng Trình quản lý hoạt động
Sao chép các tệp dữ liệu
Bạn có thể sao chép các tệp dữ liệu cơ bản mà MongoDB sử dụng để lưu trữ dữ liệu. Chúng nằm trong thư mục dữ liệu.
Vị trí mặc định của thư mục dữ liệu là / data / db , tuy nhiên, nếu bạn sử dụng một vị trí khác, bạn sẽ cần sử dụng vị trí đó thay thế.
Bạn nên sao chép toàn bộ thư mục để có một bản sao lưu hoàn chỉnh.
Bạn cũng có thể sử dụng ảnh chụp nhanh nếu âm lượng hỗ trợ nó. Ví dụ:trên Linux, hãy sử dụng LVM (Logical Volume Manager) để tạo một ảnh chụp nhanh, sau đó bạn có thể sao chép từ ảnh chụp nhanh đó vào trang web sao lưu / vị trí từ xa của mình.
Sử dụng mongodump
Bạn có thể sử dụng mongodump
để sao lưu dữ liệu và mongorestore
để khôi phục nó.
Để nhanh chóng sao lưu tất cả nội dung của máy chủ đang chạy, hãy mở Terminal / Command Prompt mới, thay đổi thành thư mục mà bạn muốn / dump thư mục sẽ được tạo và nhập như sau:
mongodump
Bạn sẽ cần cung cấp đường dẫn đầy đủ nếu thư mục bin MongoDB không có trong PATH của bạn.
Nếu bạn thấy rằng bạn không thể chạy mongodump , hãy chắc chắn rằng bạn đã thoát khỏi mongo hoặc mở một cửa sổ Terminal / Command Prompt mới trước khi chạy mongodump , vì nó là một tiện ích riêng biệt.
Thông báo kết quả:
2016-07-12T15:44:34.467+0700 writing music.artists to 2016-07-12T15:44:34.467+0700 writing music.musicians to 2016-07-12T15:44:34.467+0700 writing music.catalog to 2016-07-12T15:44:34.468+0700 done dumping music.artists (13 documents) 2016-07-12T15:44:34.469+0700 done dumping music.musicians (10 documents) 2016-07-12T15:44:34.469+0700 done dumping music.catalog (10 documents) 2016-07-12T15:44:34.470+0700 writing music.producers to 2016-07-12T15:44:34.470+0700 writing music.jazz to 2016-07-12T15:44:34.470+0700 done dumping music.producers (5 documents) 2016-07-12T15:44:34.470+0700 done dumping music.jazz (1 document) 2016-07-12T15:44:34.534+0700 writing test.restaurants to 2016-07-12T15:44:34.705+0700 done dumping test.restaurants (25359 documents)
Và đây là những gì trông giống như trên Trình tìm kiếm máy Mac của tôi:
Như bạn thấy, nó đã tạo một thư mục có tên là dump , sau đó là một thư mục cho mỗi cơ sở dữ liệu, sau đó kết xuất tất cả các bộ sưu tập và siêu dữ liệu của chúng vào thư mục cơ sở dữ liệu tương ứng. Tôi đã mở rộng music thư mục cơ sở dữ liệu để hiển thị các tệp trong thư mục đó.
Lưu ý rằng mongodump
ghi đè các tệp đầu ra nếu chúng tồn tại trong thư mục dữ liệu sao lưu, vì vậy hãy đảm bảo di chuyển hoặc đổi tên bất kỳ tệp nào bạn cần giữ lại trước khi chạy mongodump
một lần nữa.
Sao lưu một cơ sở dữ liệu duy nhất
Bạn có thể sao lưu một cơ sở dữ liệu duy nhất bằng cách chỉ định tên của cơ sở dữ liệu trong --db
tham số:
mongodump --db=music
Sao lưu một Bộ sưu tập duy nhất
Bạn có thể sao lưu một bộ sưu tập duy nhất bằng cách chỉ định tên của bộ sưu tập trong --collection
tham số:
mongodump --db=music --collection=artists
Chỉ định vị trí dự phòng
Sử dụng --out
để chỉ định thư mục mà bạn muốn bản sao lưu được ghi vào:
mongodump --db music --out /data/backups
Tùy chọn khác
mongodump
có nhiều tùy chọn hơn để chỉ định cách dữ liệu được sao lưu. Bạn luôn có thể chạy mongodump --help
để xem những tùy chọn nào có sẵn.
Khôi phục mongodump
Sao lưu
Bạn có thể khôi phục bất kỳ mongodump
nào sao lưu bằng cách chạy mongorestore
. hoạt động theo cách tương tự như mongodump
.
Xem mongorestore --help
để biết thêm thông tin.
mongodump
và mongorestore
chủ yếu dành cho các đợt triển khai nhỏ hơn và để sao lưu và khôi phục một phần dựa trên truy vấn, đồng bộ hóa từ môi trường sản xuất sang môi trường dàn dựng hoặc phát triển hoặc thay đổi công cụ lưu trữ độc lập.
Đối với các hệ thống lớn hơn, hoặc các cụm phân đoạn, hoặc tập hợp bản sao, hãy sử dụng hệ thống sao lưu mạnh mẽ hơn, chẳng hạn như Trình quản lý đám mây MongoDB hoặc Trình quản lý Ops.
Trình quản lý đám mây MongoDB
MongoDB Cloud Manager là một nền tảng được lưu trữ để quản lý MongoDB.
Bạn có thể sử dụng Trình quản lý đám mây MongoDB để liên tục sao lưu các bộ bản sao MongoDB và các cụm phân đoạn bằng cách đọc dữ liệu oplog từ việc triển khai MongoDB của bạn.
MongoDB Cloud Manager hoạt động trên cơ sở đăng ký. Thông tin thêm tại đây.
Người quản lý hoạt động
Ops Manager giống như MongoDB Cloud Manager, ngoại trừ nó được cài đặt trên môi trường cục bộ của bạn (tức là không phải trên đám mây). Vì vậy, bạn có thể sử dụng nó để theo dõi, tự động hóa và sao lưu việc triển khai MongoDB của mình.
Ops Manager có sẵn cho Người đăng ký MongoDB.