Hướng dẫn how do i copy a mongodb database? - làm cách nào để sao chép cơ sở dữ liệu mongodb?

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

db.copyDatabase(fromdb, todb, fromhost, username, password, mechanism)Deprecated kể từ phiên bản 4.0.
Hướng dẫn how do i copy a mongodb database? - làm cách nào để sao chép cơ sở dữ liệu mongodb?

Deprecated since version 4.0.

Quan trọng

Bắt đầu từ phiên bản 4.2, MongoDB xóa lệnh copydb. ____10 không dùng nữa, kết thúc lệnh copydb, chỉ có thể được chạy đối với MongoDB 4.0 hoặc các phiên bản trước đó. Đối với hành vi và ví dụ, hãy tham khảo phiên bản 4.0 hoặc trước đó của hướng dẫn.

mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
0, which wraps the copydb command, can only be run against MongoDB 4.0 or earlier versions. For behavior and examples, refer to the 4.0 or earlier version of the manual.

Để biết thay thế trong phiên bản 4.2+, xem cơ sở dữ liệu sao chép và nhân bản.Copy and Clone Databases.

Sao chép cơ sở dữ liệu từ một phiên bản

mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
2 sang thể hiện
mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
2 hiện tại hoặc trong phạm vi hiện tại
mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
2 hiện tại

Phương pháp trợ giúp

mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
5
mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
0 thực hiện các đối số sau:
mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
5
helper method
mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
0
takes the following arguments:

Tham số

Loại hình

Sự mô tả

mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
7

sợi dây

Tên của cơ sở dữ liệu nguồn.

mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
8

sợi dây

Tên của cơ sở dữ liệu nguồn.

mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
9

sợi dây

Tên của cơ sở dữ liệu nguồn.

mongodump --archive --db=olddb --host=localhost --port=27017 | mongorestore --archive  --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
2

sợi dây

Tên của cơ sở dữ liệu nguồn.

Tên của cơ sở dữ liệu đích.

mongodump --archive --db=olddb --host=localhost --port=27017 | mongorestore --archive  --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
5

sợi dây

Tên của cơ sở dữ liệu nguồn.not transmit the password in plaintext.

Tên của cơ sở dữ liệu đích.

mongodump --archive --db=olddb --host=localhost --port=27017 | mongorestore --archive  --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
7

sợi dây

Tên của cơ sở dữ liệu nguồn.

Tên của cơ sở dữ liệu đích.

Không bắt buộc. Tên máy chủ của thể hiện Nguồn

mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
2. Bỏ qua để sao chép cơ sở dữ liệu trong cùng một phiên bản
mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017
2.

Đối với MongoDB v4.2+:

service mongod stop
3 và
service mongod stop
4 cũ hơn. Thay vào đó, bạn nên sử dụng kết hợp
service mongod stop
5 và
service mongod stop
6.

Example:

Nguồn db: [name =

service mongod stop
7 (host =
service mongod stop
8, port =
service mongod stop
9)]]
[ name =
service mongod stop
7 (host =
service mongod stop
8, port =
service mongod stop
9) ]

Dest. Db: [name =

mongodump --host  --ssl --username  --password  --authenticationDatabase admin --db 
0 (host =
service mongod stop
8, port =
service mongod stop
9)]]
[ name =
mongodump --host  --ssl --username  --password  --authenticationDatabase admin --db 
0 (host =
service mongod stop
8, port =
service mongod stop
9) ]

Cách tiếp cận 1 - Bằng cách sử dụng tệp lưu trữ:

1- Chạy MongoDump để đổ cơ sở dữ liệu

service mongod stop
7 vào kho lưu trữ
mongodump --host  --ssl --username  --password  --authenticationDatabase admin --db 
4:

mongodump --archive="mongodump-old-db" --db=olddb --host=localhost --port=27017

2- Chạy MongoRestore với

mongodump --host  --ssl --username  --password  --authenticationDatabase admin --db 
5 và
mongodump --host  --ssl --username  --password  --authenticationDatabase admin --db 
6 để khôi phục (với thay đổi tên cơ sở dữ liệu) từ kho lưu trữ:

mongorestore --archive="mongodump-old-db" --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017

Cách tiếp cận 2 - Bằng cách sử dụng luồng đầu ra tiêu chuẩn:

Thay vì sử dụng tệp lưu trữ, bạn có thể tạo ra cơ sở dữ liệu

service mongod stop
7 cho luồng đầu ra tiêu chuẩn và ống vào MongoRestore.

Chỉ cần chạy:

mongodump --archive --db=olddb --host=localhost --port=27017 | mongorestore --archive  --nsFrom='olddb.*' --nsTo='newdb.*' --host=localhost --port=27017

Mẹo: Bạn có thể bao gồm các tùy chọn bổ sung khi cần thiết, chẳng hạn như URI (---URI) hoặc máy chủ (--host), cổng (--port), tên người dùng (--Username), mật khẩu (--password) hoặc các tùy chọn khác . You may include additional options as necessary, such as the uri (--uri) or host (--host), port (--port), username (--username), password (--password) or other options.

Nguồn: Tài liệu chính thức của MongoDB liên quan đến chủ đề này.

Bạn đang tìm kiếm một cách để sao chép các tệp cơ sở dữ liệu MongoDB sang máy chủ khác?

Cơ sở dữ liệu MongoDB hỗ trợ khối lượng dữ liệu và hỗ trợ khổng lồ.

Nó đi kèm với các ứng dụng mở rộng theo cách sử dụng.

Nhiều lần chúng tôi nhận được yêu cầu sao chép cơ sở dữ liệu MongoDB như một phần của Dịch vụ Quản lý Máy chủ của chúng tôi.

Hôm nay, trong bài viết này, chúng tôi sẽ thấy cách các kỹ sư cơ sở dữ liệu của chúng tôi sao chép các tệp MongoDB vào các máy chủ sản xuất.

Khi nào chúng ta cần sao chép các tệp MongoDB?

Trước tiên, hãy xem các kịch bản điển hình mà chúng ta cần sao chép cơ sở dữ liệu MongoDB.

Cơ sở dữ liệu MongoDB phổ biến trong số các nhà phát triển tạo ra các ứng dụng có thể mở rộng. Những nhà phát triển này xây dựng chúng trên một máy chủ thử nghiệm. Sau đó sau khi thử nghiệm, họ sao chép chúng vào máy chủ trực tiếp.

Gần đây, một trong những khách hàng của chúng tôi đã đi kèm với yêu cầu sau.

Tôi muốn bạn cài đặt MongoDB trên máy chủ sản xuất AWS EC2 của tôi và sao chép cơ sở dữ liệu.

Vui lòng điều chỉnh cấu hình Mongo để cơ sở dữ liệu Mongo nằm trên EBS bên trong /Dev /SDB này.

Cách chúng tôi sao chép các tệp cơ sở dữ liệu MongoDB

Việc sao chép cơ sở dữ liệu bao gồm nhiều bước. Nó cần tạo một bản sao lưu, sao chép nó vào máy chủ đích và khôi phục nó.

Bây giờ chúng tôi sẽ xem xét cách các kỹ sư hỗ trợ của chúng tôi sao chép cơ sở dữ liệu MongoDB vào máy chủ mới của khách hàng.

1. Dừng MongoDB trên máy chủ nguồn

Nó luôn luôn là một ý tưởng tốt để tắt bất kỳ kết nối nào với dịch vụ Mongod trước khi bắt đầu sao lưu cơ sở dữ liệu. Điều này tránh bất kỳ mất dữ liệu.

Do đó, là bước đầu tiên, chúng tôi dừng MongoDB trên máy chủ. Đối với điều này, chúng tôi sử dụng lệnh:

service mongod stop

2. Tạo bản sao lưu cơ sở dữ liệu MongoDB

Bây giờ, nó đã thời gian để tạo một bản sao lưu cơ sở dữ liệu. Ở đây, chúng tôi sử dụng lệnh MongoDump.

Định dạng là

mongodump --host  --ssl --username  --password  --authenticationDatabase admin --db 

Chẳng hạn, để lấy kết xuất cơ sở dữ liệu với tên kiểm tra tên, lệnh sẽ là

mongodump -h myservername:27017 --ssl -u user1 -p 123123 --authenticationDatabase admin -d exampledb

3. Sao chép các tệp cơ sở dữ liệu MongoDB vào máy chủ đích

Hơn nữa, chúng tôi sao chép các tệp vào máy chủ đích. Chúng ta có thể sử dụng SCP hoặc RSYNC để sao chép chúng.

Khách hàng đã có cả máy chủ sản xuất và dàn dựng như các trường hợp AWS. Vì vậy, chúng tôi đã sử dụng SCP để chuyển các tập tin.

Để làm cho SCP hoạt động, chúng tôi đã phải điều chỉnh cài đặt nhóm bảo mật từ bảng điều khiển AWS. Trong các máy chủ bình thường, điều này đòi hỏi phải thay đổi tường lửa để kết nối giữa các máy chủ hoạt động.

4. Khôi phục cơ sở dữ liệu MongoDB

Khi tệp sao lưu nằm trên máy chủ đích, đó là thời gian để khôi phục cơ sở dữ liệu MongoDB. Đối với điều này, chúng tôi sử dụng lệnh MongoRestore.

Cú pháp sẽ

mongorestore --host  --ssl --username  --password  --authenticationDatabase admin --db  --collection  

Để khôi phục cơ sở dữ liệu EXCLEDB, chúng tôi đã sử dụng

mongorestore --host=mynewserver --port=27017 --username=user --authenticationDatabase=admin --db exampledb /opt/backup/mongodump-exampledb

Đã hoàn thành việc khôi phục mà không có bất kỳ lỗi nào.

Hướng dẫn how do i copy a mongodb database? - làm cách nào để sao chép cơ sở dữ liệu mongodb?

5. Truy cập vào người dùng trên máy chủ mới

Cuối cùng, trong một số trường hợp nhất định, chúng tôi có thể phải cung cấp quyền truy cập cho người dùng trên các máy chủ mới.

Khách hàng muốn điều chỉnh quyền trên Mongo để cho phép kết nối từ địa chỉ IP máy chủ của mình.

MongoDB sử dụng số cổng 27017 cho tất cả các kết nối theo mặc định. Vì vậy, chúng tôi đã mở cổng đó cho IP cụ thể. Chúng tôi đã làm điều này từ các cài đặt mạng của bảng điều khiển AWS. Chúng tôi đã mở lưu lượng giao thông trong và ngoài trên cổng 27017 cho IP 17x.yy.zz.22. Ở đây, chúng tôi đã sử dụng TCP tùy chỉnh làm giao thức.

[Cần trợ giúp để sao chép các tệp cơ sở dữ liệu MongoDB vào một máy chủ mới? Chúng tôi có sẵn 24 × 7 để giúp bạn.]

Sự kết luận

Tóm lại, MongoDump và MongoRestore cung cấp một cách nhanh chóng để sao chép các tệp cơ sở dữ liệu MongoDB sang máy chủ khác.

Hôm nay, chúng tôi đã thấy cách các kỹ sư hỗ trợ của chúng tôi sao chép cơ sở dữ liệu MongoDB cho khách hàng của chúng tôi.

Ngăn chặn máy chủ của bạn bị sập!

Đừng bao giờ mất khách hàng với tốc độ máy chủ kém! Hãy để chúng tôi giúp bạn.

Các chuyên gia máy chủ của chúng tôi sẽ giám sát và duy trì máy chủ của bạn 24/7 để nó vẫn nhanh như chớp và an toàn.

BẮT ĐẦU

var google_conversion_label = "owoncmyg5neq0ad71qm";

Làm cách nào để sao chép cơ sở dữ liệu cục bộ trong MongoDB?

2 câu trả lời..
Kết nối với máy chủ và tạo kết xuất ở đó (như thế này, mật khẩu root -U gốc -U -AuthenticationDatabase -d DataBasename -o /cơ sở dữ liệu).
Cơ sở dữ liệu SCP từ máy chủ vào VM ..
Khôi phục DB trên VM MongoRestore --AuthenticationDatabase = admin -u = root -p = password ./dump/.

Làm cách nào để sao chép cơ sở dữ liệu MongoDB sang máy chủ khác?

Cách chúng tôi sao chép các tệp cơ sở dữ liệu MongoDB..
Dừng MongoDB trên máy chủ nguồn. Luôn luôn là một ý tưởng tốt để tắt bất kỳ kết nối nào với dịch vụ Mongod trước khi bắt đầu sao lưu cơ sở dữ liệu. ....
Tạo một bản sao lưu cơ sở dữ liệu MongoDB. ....
Sao chép các tệp cơ sở dữ liệu MongoDB vào máy chủ đích. ....
Khôi phục cơ sở dữ liệu MongoDB. ....
Truy cập vào người dùng trên máy chủ mới ..

Làm cách nào để di chuyển cơ sở dữ liệu từ MongoDB này sang MongoDB khác?

Sau đây cho thấy cách tạo hoặc chuyển cơ sở dữ liệu MongoDB trong MongoDB Shell MongoSh:..
Tạo hoặc chuyển cơ sở dữ liệu trong vỏ MongoDB. MongoDB sẽ tự động chuyển sang cơ sở dữ liệu mới được tạo. ....
Danh sách cơ sở dữ liệu. ....
Xóa cơ sở dữ liệu. ....
La Mã MongoDB - Tạo cơ sở dữ liệu. ....
La Mã La Mã - Bộ sưu tập ..

Làm cách nào để chuyển MongoDB từ máy tính này sang máy tính khác?

Cách di chuyển thể hiện cơ sở dữ liệu MongoDB của bạn với MongoDump, MongoRestore, Tar và SCP..
Sử dụng lệnh MongoDump để xuất dữ liệu của thể hiện cơ sở dữ liệu MongoDB dưới dạng các tệp trong hệ thống tập tin của máy chủ nguồn ..
Sử dụng lệnh tar để nén các tệp đã xuất dưới dạng một.....
Sử dụng lệnh SCP để gửi ..