Hướng dẫn how do i copy a mongodb database to another server? - làm cách nào để sao chép cơ sở dữ liệu mongodb sang một máy chủ khác?

62

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có hai MongoDB trong máy chủ khác nhau, cả hai đều bắt đầu với

{ "errmsg" : "", "ok" : 0 }
4. Bây giờ tôi muốn sao chép DB từ máy chủ này sang máy chủ khác.

> mongo
> use admin
> db.copyDatabase("mydb","mydb","another_server")

Nó cho thấy:

{ "errmsg" : "", "ok" : 0 }

And:

> db.getLastError()
null

Có vẻ không có lỗi, nhưng bản sao không thành công. Lệnh chính xác để sử dụng là gì?

Hướng dẫn how do i copy a mongodb database to another server? - làm cách nào để sao chép cơ sở dữ liệu mongodb sang một máy chủ khác?

Đã hỏi ngày 31 tháng 3 năm 2011 lúc 3:51Mar 31, 2011 at 3:51

FreewindFreewindFreewind

189K152 Huy hiệu vàng418 Huy hiệu bạc686 Huy hiệu Đồng152 gold badges418 silver badges686 bronze badges

Nếu bạn đang sử dụng --Auth, bạn sẽ cần đưa tên người dùng/mật khẩu của mình vào đó ...--auth, you'll need to include your username/password in there...

Ngoài ra, bạn phải ở trên máy chủ "đích" khi bạn chạy lệnh.

db.copyDatabase(, , , , );

Nếu tất cả những gì không hoạt động, bạn có thể muốn thử một cái gì đó như tạo một nô lệ của cơ sở dữ liệu bạn muốn sao chép ...

Đã trả lời ngày 31 tháng 3 năm 2011 lúc 4:41Mar 31, 2011 at 4:41

Justin Jenkinsjustin JenkinsJustin Jenkins

25.9k6 Huy hiệu vàng64 Huy hiệu bạc1284 Huy hiệu đồng6 gold badges64 silver badges1284 bronze badges

10

Bắt đầu từ phiên bản

{ "errmsg" : "", "ok" : 0 }
5
{ "errmsg" : "", "ok" : 0 }
6 Bạn có thể làm điều đó bằng cách sử dụng
{ "errmsg" : "", "ok" : 0 }
7:

mongodump  --host  --db  --archive | mongorestore --host  --archive

Thông tin bổ sung có thể được tìm thấy tại:

https://docs.mongodb.com/manual/reference/program/mongodump/ https://docs.mongodb.com/manual/reference

Để làm cho Mongo có thể truy cập từ xa, bạn có thể tạo đường hầm SSH cho nó:

Tạo một đường hầm đến máy chủ MongoDB từ xa và điều chỉnh nó qua cổng 27117 cho máy khách cục bộ

ssh -fN -L 27117:localhost:27017  

Trong trường hợp này, lệnh để chạy trên máy cục bộ mà bạn muốn khôi phục có thể là:

mongodump  --port 27117 --db  --archive | mongorestore --archive

Đã trả lời ngày 11 tháng 10 năm 2016 lúc 9:20Oct 11, 2016 at 9:20

Hướng dẫn how do i copy a mongodb database to another server? - làm cách nào để sao chép cơ sở dữ liệu mongodb sang một máy chủ khác?

0

Ngoài câu trả lời của Justin Jenkins, hãy nhớ rằng bạn cũng có thể sử dụng đường hầm SSH nếu bạn không có MongoDB tiếp xúc với mạng (chỉ địa phương)

Tôi sử dụng màn hình để chuyển đổi giữa "Nhiệm vụ". Để thuận tiện cho tôi, đường hầm SSH và Mongo được thực hiện trong các tab màn hình riêng biệt.

Bước 1: Tạo một đường hầm

ssh username@yourdomainOrIP -L 27018:localhost:27017
...Enter your password

bước 2 :

mongo
use admin
db.copyDatabase(,,"localhost:27018",,

Đã trả lời ngày 5 tháng 2 năm 2016 lúc 14:41Feb 5, 2016 at 14:41

Marceldemarceldemarcelde

2712 Huy hiệu bạc7 Huy hiệu đồng2 silver badges7 bronze badges

1

Ngoài câu trả lời của Mike Shauneu, nếu tên cơ sở dữ liệu của bạn trên máy chủ đích không giống như trên máy chủ nguồn, bạn cần viết lại không gian tên. Kết hợp với xác thực, tôi có được điều này để sử dụng tùy chọn

{ "errmsg" : "", "ok" : 0 }
8, yêu cầu phiên bản Mongo gần đây (> 3.4.6):

mongodump --uri="mongodb://$sourceUser:$sourcePwd@$sourceHost/$sourceDb" --gzip --archive | mongorestore --uri="mongodb://$targetUser:$targetPwd@$targetHost/$targetDb" --nsFrom="$sourceDb.*" --nsTo="$targetDb.*" --gzip --archive

Đã trả lời ngày 14 tháng 10 năm 2019 lúc 14:49Oct 14, 2019 at 14:49

user1587520user1587520user1587520

2.9891 Huy hiệu vàng19 Huy hiệu bạc20 Huy hiệu Đồng1 gold badge19 silver badges20 bronze badges

0

Sau đây đã làm việc để tôi sao chép từ máy chủ Ubuntu sang một máy chủ Ubuntu khác, cả hai đang chạy MongoDB V4+:

  1. Lệnh sau phải được thực thi từ máy chủ, nơi bạn muốn khôi phục cơ sở dữ liệu:
{ "errmsg" : "", "ok" : 0 }
0
  1. Bây giờ chúng tôi đã ánh xạ cơ sở dữ liệu máy chủ từ xa của chúng tôi lên cổng máy chủ cục bộ 27018. Tiếp theo, chúng tôi có thể sao chép từ máy chủ từ xa vào máy chủ đích của chúng tôi bằng đường ống
    { "errmsg" : "", "ok" : 0 }
    
    7 của MongoDB:
{ "errmsg" : "", "ok" : 0 }
1
  1. [Tùy chọn] Bạn có thể kiểm tra cơ sở dữ liệu được khôi phục của mình như sau:
{ "errmsg" : "", "ok" : 0 }
2
{ "errmsg" : "", "ok" : 0 }
3

Kiểm tra nếu cơ sở dữ liệu của bạn tồn tại trong danh sách.

Đã trả lời ngày 9 tháng 9 năm 2020 lúc 10:46Sep 9, 2020 at 10:46

Hướng dẫn how do i copy a mongodb database to another server? - làm cách nào để sao chép cơ sở dữ liệu mongodb sang một máy chủ khác?

1

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

Trong MongoDB, bạn có thể sao chép cơ sở dữ liệu bằng các công cụ cơ sở dữ liệu MongoDB. Cụ thể, bạn có thể sử dụng MongoDump và MongoRestore. Các công cụ cơ sở dữ liệu MongoDB là một bộ tiện ích dòng lệnh để làm việc với MongoDB. Điều đó đặc biệt kiểm tra các phiên bản MongoDump và MongoRestore.use mongodump and mongorestore . The MongoDB Database Tools are a suite of command-line utilities for working with MongoDB. That specifically checks for the mongodump and mongorestore versions.

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 ..

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 để chuyển dữ liệu từ tệp MongoDB này sang tệp MongoDB khác?

Làm thế nào để di chuyển dữ liệu trong MongoDB..
Tạo bản sao lưu có khóa của dữ liệu hiện có ..
Đổ dữ liệu vào một db mới ..