Kết nối đặt lại mongodb

Hướng dẫn backup và restore Database MongoDB

Qua

Quách Chí Cường

-

Hướng dẫn backup và restore Database MongoDB – Cuongquach. com. Bạn đang quản trị máy chủ MongoDB và mong muốn sao lưu dữ liệu cơ sở dữ liệu MongoDB để khi có sự cố phát sinh sẽ có thể khôi phục lại cơ sở dữ liệu MongoDB. Do đó làm thế nào và làm ra sao ?

Có thể bạn quan tâm chủ đề khác .
– Kích hoạt chứng thực trên MongoDB
– Cài đặt MongoDB 4 trên CentOS 7

nội dung

  • Sao lưu/khôi phục MongoDB như thế nào?
  • 1. Backup [sao lưu] Cơ Sở Dữ Liệu MongoDB
  • 2. Restore [khôi phục] Cơ Sở Dữ Liệu MongoDB

Sao lưu/khôi phục MongoDB như thế nào?

Đầu tiên bạn cần lưu ý rằng MongoDB sử dụng định dạng json và bson [json nhị phân] để lưu trữ thông tin và dữ liệu. Json là chuẩn hỗ trợ cho người đọc rất dễ dàng để xuất và nhập dữ liệu của bạn. Bạn chỉ cần sử dụng bất kỳ công cụ hỗ trợ json nào dù chỉ là trình chỉnh sửa văn bản [text editor]

Ví dụ định dạng Json .

{"address":[
    {"building":"1007", "street":"Park Ave"},
    {"building":"1008", "street":"New Ave"},
]}

Json khá thuận lợi như vậy, nhưng lại thuận tiện cho việc backup [sao lưu] và phục hồi [restore]. JSON nhị phân [bson], MongoDB sẽ lưu trữ hiển thị tài liệu JSON dữ liệu dưới định dạng mã hóa nhị phân chuẩn. Bson sẽ mở rộng kiểu dữ liệu JSON mẫu bằng cách bổ sung các thông tin cần thiết như loại dữ liệu, trường thứ tự, hỗ trợ mã hóa và giải mã với các ngôn ngữ khác nhau. Vì vậy mà khi sao lưu và khôi phục thường sẽ sử dụng tệp ‘bson‘

Khi tiến hành khôi phục cơ sở dữ liệu MongoDB, nếu bộ sưu tập cơ sở dữ liệu không tồn tại thì MongoDB sẽ tự động khởi tạo cơ sở dữ liệu mới và khôi phục dữ liệu cho

Để sao lưu cơ sở dữ liệu MongoDB, ta sử dụng chương trình lệnh ‘ mongodump ‘ và để khôi phục cơ sở dữ liệu MongoDB, ta sử dụng chương trình lệnh ‘ mongorestore ‘

1. Backup [sao lưu] Cơ Sở Dữ Liệu MongoDB

cú pháp

mongodump -d  -o 
mongodump --db  --out 
mongodump --host $HOST --port $PORT -u $USERNAME -p $PASSWORD -d $DB -o 

Chú thích

  • -d/–db. tên Cơ sở dữ liệu MongoDB
  • -o/–ra. đường dẫn thư mục sẽ chứa dữ liệu sao lưu của MongoDB Databse

Giả sử mình có cơ sở dữ liệu mẫu tên 'SampleCollections'

> show dbs;
SampleCollections 0.059GB
admin 0.000GB
config 0.000GB
local 0.000GB

Time mình tạo thư mục để chứa dữ liệu sao lưu cơ sở dữ liệu MongoDB

# mkdir /opt/backup/mongodb/

Tiếp theo ta chạy lệnh ‘ mongodump ‘ để tiến hành sao lưu cơ sở dữ liệu ‘ SampleColletions ‘ ra thư mục. /opt/sao lưu/mongodb/

# mongodump -d SampleCollections -o /opt/backup/mongodb/
..
2019-03-21T23:44:37.736+0700 done dumping SampleCollections.mongomart_cart [1 document]
2019-03-21T23:44:37.900+0700 done dumping SampleCollections.DBEnvyLoad_customers [100000 documents]
2019-03-21T23:44:37.964+0700 done dumping SampleCollections.DBEnvyLoad_products [100000 documents]
2019-03-21T23:44:39.322+0700 done dumping SampleCollections.and_sorted_test [900000 documents]

Giờ kiểm tra thư mục sao lưu cơ sở dữ liệu nào, bạn sẽ thấy có tệp. json and both. con trai

# ll /opt/backup/mongodb/SampleCollections/
total 100764
-rw-r--r-- 1 root root 39600000 Mar 21 23:44 and_sorted_test.bson
-rw-r--r-- 1 root root 147 Mar 21 23:44 and_sorted_test.metadata.json
-rw-r--r-- 1 root root 3778762 Mar 21 23:44 crunchbase_database.bson
-rw-r--r-- 1 root root 151 Mar 21 23:44 crunchbase_database.metadata.json
...

Lúc này bạn đã biết cách sao lưu Cơ sở Dữ liệu MongoDB, bạn có thể kết hợp một số thứ như

  • Cronjob set history
  • Kết hợp đầu ra thư mục theo ngày tháng
  • Viết kịch bản để sao lưu tự động
  • Nén thư mục chứa Cơ sở dữ liệu MongoDB vừa được sao lưu ra

2. Restore [khôi phục] Cơ Sở Dữ Liệu MongoDB

Cú pháp .

mongorestore --drop -d  
mongorestore --drop --db  
mongorestore --host $HOST --port $PORT -u $USERNAME -p $PASSWORD -d $DB 

Chú thích .

  • -làm rơi. tùy chọn này sẽ yêu cầu MongoDB xóa cơ sở dữ liệu mà bạn chuẩn bị khôi phục trước rồi mới khôi phục lại
  • -d/–db. tên cơ sở dữ liệu MongoDB
  • . thư mục chứa dữ liệu MongoDB Database đã backup trước đó

Giờ bạn muốn khôi phục lại cơ sở dữ liệu MongoDB mà bạn đã sao lưu trước đó thì cú phá cũng đơn giản với chương trình lệnh ‘ mongorestore ‘

# mongorestore --drop -d SampleCollections /opt/backup/mongodb/SampleCollections/
...
2019-03-22T00:26:52.342+0700 finished restoring SampleCollections.DBEnvyLoad_customers [100000 documents]
2019-03-22T00:26:53.934+0700 [########................] SampleCollections.and_sorted_test 12.6MB/37.8MB [33.3%]
2019-03-22T00:26:56.934+0700 [#################.......] SampleCollections.and_sorted_test 26.9MB/37.8MB [71.3%]
2019-03-22T00:26:59.189+0700 [########################] SampleCollections.and_sorted_test 37.8MB/37.8MB [100.0%]
2019-03-22T00:26:59.189+0700 no indexes to restore
2019-03-22T00:26:59.189+0700 finished restoring SampleCollections.and_sorted_test [900000 documents]
2019-03-22T00:26:59.190+0700 done

Units must not any. Chúc các bạn thực hiện thành công nhé

Nguồn . https. //cuongquach. com/

  • THẺ
  • sao lưu mongodb
  • cơ sở dữ liệu
  • mongodb
  • khôi phục mongodb

Facebook

Twitter

Pinterest

WhatsApp

liên kết

điện báo

Bài trước Marketing Online là gì ?

Bài viết tiếp theo AWS VPC là gì ?

Quách Chí Cường

https. //cuongquach. com/

Bạn đang theo dõi website " https. //cuongquach. com/" nơi lưu trữ những kiến ​​thức tổng hợp và chia sẻ cá nhân về Quản trị Hệ thống Thống kê Dịch vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này

Chủ Đề