Hai lệnh sao lưu mongodb là gì?

Đã có rất nhiều công cụ được xây dựng để làm cho quá trình duy trì cơ sở dữ liệu dễ dàng hơn

Sử dụng các công cụ và lệnh mạnh mẽ này, các thao tác phức tạp phải thực hiện lặp đi lặp lại sẽ được thực hiện nhanh chóng và rõ ràng

Một lệnh duy nhất có thể sao lưu hoặc khôi phục toàn bộ cơ sở dữ liệu hoặc các phần được chỉ định của nó

Khi làm việc với cơ sở dữ liệu MongoDB (bộ sưu tập), bạn có thể sử dụng mongodump để thực hiện việc này

Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn mongodump và mongorestore là gì, cách sử dụng chúng và cung cấp một số ví dụ rõ ràng để bạn có thể sử dụng cả hai công cụ để sao lưu và khôi phục bộ sưu tập của mình một cách dễ dàng

Hai lệnh sao lưu mongodb là gì?

Mục lục

mongodump là gì

Mongodump hoạt động như một tiện ích để lấy nội dung của cơ sở dữ liệu và tạo xuất nhị phân

Công cụ này được sử dụng với mongod và mongos instance. Chạy mongodump cho phép người dùng xuất dữ liệu từ các triển khai cụm độc lập, sao chép, thiết lập và phân mảnh

Mongodump đã từng được cập nhật và các phiên bản mới được phát hành bất cứ khi nào Máy chủ MongoDB được cập nhật. Tuy nhiên, kể từ đó, MongoDB 4. 4, tiện ích có phiên bản riêng

Phiên bản hiện tại là 100. 2. 1, hỗ trợ MongoDB 3. 6, 4. 0, 4. 2 và 4. 4. Mongodump có thể không tương thích hoàn toàn với tất cả các phiên bản MongoDB trước đó mặc dù chúng được hỗ trợ

Công cụ này phục vụ như một chiến lược sao lưu. Đối với các chuyên gia CNTT muốn lên lịch sao lưu cơ sở dữ liệu hàng ngày, đây là một trong những phương pháp để họ sao lưu và khôi phục cơ sở dữ liệu (bộ sưu tập)

Mongodump có thể lưu mọi thứ trong một tệp duy nhất, trong khi mongorestore sau này có thể được sử dụng để khôi phục hoàn toàn cơ sở dữ liệu

Dán chuỗi kết nối MongoDB của bạn, chọn một bộ lưu trữ, sao lưu đã hoàn tất

Thử SimpleBackups ngay →

lệnh mongodump

Bạn có thể chạy lệnh mongodump từ dòng lệnh hệ thống, không phải shell mongo

Đây là cấu trúc lệnh mongodump chung

mongodump  

Người dùng có thể kết nối với cơ sở dữ liệu mongo bằng cách sử dụng

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
3 và các tùy chọn cờ hoặc chuỗi được định dạng chính xác như
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
4,
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
5 và
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
6. Người dùng không được phép kết hợp cả hai thành một lệnh

Cách sử dụng mongodump để sao lưu bộ sưu tập

Trong khi sử dụng máy chủ cục bộ, mongodump có thể kết xuất bộ sưu tập có tên là

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
7 bằng lệnh sau trong khi sử dụng định dạng URI và thông tin người dùng sau

  • Tên cơ sở dữ liệu.
    mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
    7
  • tên tài khoản.
    mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
    9
  • Mật khẩu.
    mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
    0

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"

Một lệnh mongodump ví dụ khác sử dụng cờ tiêu chuẩn sẽ như thế này

________số 8

Cũng có thể chạy sao lưu cơ sở dữ liệu vào tệp lưu trữ. Điều này trái ngược với việc đổ các tệp vào một thư mục. Các tùy chọn này dùng để truyền dữ liệu giữa các máy chủ hoặc chuyển đổi máy chủ

Cờ --archive cho phép chỉ định tên của kho lưu trữ. Tùy chọn tạo một tệp có thể được sử dụng để nhập lại cơ sở dữ liệu với mongorestore

Nếu tên của cơ sở dữ liệu giống với cơ sở dữ liệu cần kết xuất, hãy sử dụng cờ

mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
1 với đúng tên hoặc nếu bạn đang sử dụng URI, hãy đảm bảo rằng phần
mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
2 của chuỗi trỏ đến đúng cơ sở dữ liệu

Quy trình mongodump tiêu chuẩn liên quan đến việc kết xuất toàn bộ cơ sở dữ liệu vào một giám đốc

mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
3 duy nhất được đặt tên là
mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
3 theo mặc định

Thư mục làm việc này sẽ được đặt trong thư mục làm việc mà bạn đã chạy lệnh trong. Thư mục có một thư mục con được đặt tên theo cơ sở dữ liệu

Trong ví dụ trước, đây sẽ là

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
7 nên cấu trúc mới trông giống như
mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
6

Hai tệp khác nhau cho bộ sưu tập trong cơ sở dữ liệu sẽ nằm trong thư mục cụ thể. Điều này bao gồm tệp BSON và tệp JSON

Theo cùng một mẫu, tệp

mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
7 sẽ chứa siêu dữ liệu như
mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
8,
mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
9 và
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
00 để tương ứng với không gian tên cho bộ sưu tập

Tệp BSON chứa

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
01 sẽ chứa dữ liệu trong bộ sưu tập. Trong mongodump, người dùng có thể thay đổi hành vi cụ thể của đầu ra

Thư mục

mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
3 có thể sử dụng các cờ như
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
03 chỉ định tên của thư mục nơi bạn muốn kết xuất cơ sở dữ liệu. Chẳng hạn, tên của thư mục kết xuất có thể là
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
04 thay vì kết xuất. Lệnh sẽ trông như thế này

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
0

Theo mặc định, tất cả các bộ sưu tập được đổ vào thư mục đầu ra. Tên của thư mục sẽ được bao gồm trong cơ sở dữ liệu. Người dùng có thể kiểm soát thêm tiện ích bằng cách chỉ sao lưu một bộ sưu tập tại một thời điểm. Sử dụng cờ

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
05 cho phép người dùng cho biết bộ sưu tập nào cần được kết xuất

Nếu bộ sưu tập duy nhất có tên là

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
06 phải được kết xuất, thì một lệnh mongodump mẫu sẽ giống như

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
8

Cấu trúc thư mục sau cũng sẽ được tạo bằng lệnh

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
9

Sử dụng lệnh đó, có thể sao lưu một bộ sưu tập tại một thời điểm, bao nhiêu lần tùy ý người dùng. Các lệnh này sẽ không ghi đè lên bất kỳ nội dung nào cho thư mục đầu ra

Việc thêm bộ sưu tập

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
07 vào thư mục kết xuất sẽ giống như

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
1

Lệnh đó sẽ tạo ra thư mục

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
08 với các tệp
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
09 và
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
80 được thêm vào, tạo thành một cấu trúc giống như sau

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
5

Sử dụng mongodump để kết xuất tất cả cơ sở dữ liệu

Cũng có thể chạy bản sao lưu và có tất cả các tệp trong kho lưu trữ. Điều này trái ngược với việc đổ mọi thứ vào một thư mục kết xuất

Khi truyền tệp giữa các máy chủ hoặc gửi tệp sao lưu giữa các máy chủ là khi tùy chọn này hoạt động tốt nhất

Nó sử dụng cờ

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
81 để người dùng có thể chỉ định tên của tệp lưu trữ. Tùy chọn này tạo một tệp duy nhất có thể được sử dụng để nhập lại cơ sở dữ liệu với
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
82

Người dùng không được phép sử dụng song song cả hai cờ

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
81 và
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
03 vì điều này

Ví dụ lệnh mongodump dưới đây, sẽ kết xuất tất cả cơ sở dữ liệu (bộ sưu tập)

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
0

Một ví dụ về mongorestore và cách khôi phục cơ sở dữ liệu mongo

Ngược lại với tiện ích mongodump là mongorestore, cho phép người dùng khôi phục cơ sở dữ liệu

Chương trình tải dữ liệu từ tiện ích mongodump hoặc bất kỳ kết xuất cơ sở dữ liệu nhị phân nào

Chương trình khác với mongoimport ở chỗ mongorestore chỉ chèn dữ liệu. Chương trình không thể ghi đè lên các tài liệu trong cơ sở dữ liệu đã tồn tại. Điều này bao gồm các bản cập nhật

Nếu id của tài liệu đã tồn tại thì tài liệu sẽ không bị ghi đè. Nếu không, mongorestore có thể tạo cơ sở dữ liệu mới hoặc thêm dữ liệu vào cơ sở dữ liệu hiện có

Khi thực thi mongorestore yêu cầu duy nhất là phải có đường dẫn đến thư mục dump, có thể sử dụng ví dụ mongorestore sau

Nếu localhost được sử dụng làm máy chủ và tên của cơ sở dữ liệu được tạo có cùng tên của các thư mục con trong thư mục

mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
3. Lệnh chỉ phức tạp hơn một chút khi sử dụng máy chủ từ xa

Người dùng sẽ phải chỉ định cờ

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
3 hoặc bao gồm tất cả các cờ kết nối tiêu chuẩn như

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
3

Chương trình cũng không yêu cầu khôi phục toàn bộ cơ sở dữ liệu. Chỉ có thể khôi phục một bộ sưu tập cụ thể hoặc danh sách các bộ sưu tập. Người dùng có tùy chọn chỉ định cờ

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
87, cờ
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
5 và bao gồm đường dẫn đến tệp BSON. Trong trường hợp này,
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
87 có nghĩa là tên của bộ sưu tập trong cơ sở dữ liệu

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
0

Tuy nhiên, trong khi lệnh này hoạt động, nó không lý tưởng. Phương pháp ưa thích để khôi phục các bộ sưu tập khác nhau là sử dụng tùy chọn

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
90

Tùy chọn này cho phép người dùng chọn một mẫu không gian tên để khôi phục các bộ sưu tập cho cơ sở dữ liệu mongo

Ở đây, nếu thư mục

mongodump --user=uberuser --db=redbase --password=passherd --authenticationDatabase=admin
3 kết xuất cơ sở dữ liệu có tên là
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
92 và
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
93, thì cấu trúc thư mục cuối cùng sẽ như thế này

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
1

Bằng cách sử dụng -nsInclude, cơ sở dữ liệu

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
92 có thể được cách ly và nhập để khôi phục trong môi trường cục bộ. Lệnh sẽ giống như

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
2

Ghi chú. Lệnh trên sẽ khôi phục tất cả các bộ sưu tập có trong

mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
92 đã được kết xuất khỏi cơ sở dữ liệu có tên là
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
7. Tuy nhiên, lệnh sẽ không khôi phục bất kỳ thứ gì được tìm thấy trong
mongodump --uri="mongodb://uberuser:[email protected]:27107/redbase?ssl=false&authSource=admin"
93, mặc dù dữ liệu được lưu trữ trong cùng một thư mục kết xuất

Phần kết luận

Mongodump là một công cụ hữu ích giúp bạn sao lưu các bộ sưu tập với các lệnh tối thiểu. Một lệnh cho phép đưa toàn bộ bộ sưu tập vào một tệp duy nhất

Công cụ này đủ linh hoạt để sao lưu các phần cơ sở dữ liệu cần thiết và đi kèm với nhiều tùy chọn để thay đổi dữ liệu bạn cần lưu


Sao lưu MongoDB tự động bằng SimpleBackups

sao lưu đơn giản. com là công cụ tự động sao lưu ảnh chụp nhanh cơ sở dữ liệu, trang web và máy chủ tất cả trong một

Nó tự động sao lưu MongoDB bằng cách sử dụng mongodump để kết xuất an toàn các bộ sưu tập MongoDB của bạn và gửi chúng từ bên ngoài lên đám mây để lưu trữ

Khi bạn cần đảm bảo các bản sao lưu MongoDB của mình được an toàn, bạn có thể tin tưởng SimpleBackups sẽ xử lý nó cho bạn

SimpleBackups sẽ giúp bạn tiết kiệm rất nhiều thời gian thiết lập tập lệnh và đảm bảo chúng chạy mà không gặp sự cố. Nó sẽ cảnh báo bạn khi có sự cố xảy ra và cho phép bạn lưu trữ các bản sao lưu của mình trên nhiều dịch vụ lưu trữ đám mây như Google, DigitalOcean, Wasabi, Dropbox, v.v.

Lệnh nào được sử dụng để tạo bản sao lưu trong MongoDB?

Để tạo bản sao lưu cơ sở dữ liệu trong MongoDB, bạn nên sử dụng lệnh mongodump . Lệnh này sẽ kết xuất toàn bộ dữ liệu của máy chủ của bạn vào thư mục kết xuất. Có nhiều tùy chọn có sẵn để bạn có thể giới hạn lượng dữ liệu hoặc tạo bản sao lưu cho máy chủ từ xa của mình.

Làm cách nào để sao lưu và khôi phục MongoDB?

Lệnh Mongodump kết xuất bản sao lưu của cơ sở dữ liệu vào “. bson” và định dạng này có thể được khôi phục bằng cách cung cấp các câu lệnh logic có trong tệp kết xuất cho cơ sở dữ liệu . Lệnh Mongorestore được sử dụng để khôi phục các tệp kết xuất được tạo bởi Mongodump. Việc tạo chỉ mục xảy ra sau khi dữ liệu được khôi phục.

Lệnh Mongodump là gì?

mongodump là tiện ích tạo xuất nhị phân nội dung của cơ sở dữ liệu . mongodump có thể xuất dữ liệu từ. Triển khai độc lập. bộ bản sao. Cụm phân đoạn.

Tập lệnh tiện ích nào của phương thức MongoDB được sử dụng để sao lưu?

Các tiện ích mongodump và mongorestore hoạt động với kết xuất dữ liệu BSON và rất hữu ích để tạo bản sao lưu của các triển khai nhỏ.