Tôi có một cơ sở dữ liệu MongoDB nằm trên một máy chủ từ xa có địa chỉ IP là 192.168.1.20 trên mạng cục bộ. Đối với mục đích phát triển và thử nghiệm và vì tôi không được phép sửa đổi hoặc xóa cơ sở dữ liệu trên máy chủ cho mục đích bảo mật, tôi muốn sao chép cơ sở dữ liệu trên máy cục bộ để sử dụng cá nhân.
Bất cứ ai có thể vui lòng cho tôi biết, làm thế nào để tôi đạt được điều này?
serv-inc
33,8K9 Huy hiệu vàng149 Huy hiệu bạc177 Huy hiệu đồng9 gold badges149 silver badges177 bronze badges
Đã hỏi ngày 3 tháng 1 năm 2014 lúc 10:51Jan 3, 2014 at 10:51
Tôi làm điều này bằng cách tạo một kết xuất DB từ xa vào máy cục bộ của tôi, sau đó tôi khôi phục:
Hãy chắc chắn rằng bạn có một phiên bản Mongo lên và chạy (ví dụ: chạy mongod.exe từ thư mục bin của bạn trong cửa sổ thiết bị đầu cuối. Trên máy tính Windows của tôi đó là C: \ MongoDB \ bin) (eg. run mongod.exe from your bin folder in a terminal window. On my windows computer that's C:\mongodb\bin)
Tạo một bãi rác từ DB từ xa: Mở cửa sổ đầu cuối mới, di chuyển đến thư mục bin, chạy: chạy:: Open a new terminal window, move to the bin folder again, run:
mongodump -h example.host.com --port 21018 -d dbname --username username --password yourpass
(Thay đổi các tham số phù hợp với tình huống của riêng bạn.)
Khôi phục cơ sở dữ liệu bị đổ: Sau khi kết xuất đã được thực hiện, hãy chạy lệnh sau để bạn có DB cục bộ: Once the dump has been made, run the following command so that you have a local db:
mongorestore -d theNameYouWantForYourLocalDB dump\nameOfRemoteDB
.
Qed
21.6K19 Huy hiệu vàng114 Huy hiệu bạc189 Huy hiệu đồng19 gold badges114 silver badges189 bronze badges
Đã trả lời ngày 5 tháng 8 năm 2016 lúc 9:09Aug 5, 2016 at 9:09
Mallamallamalla
1.5081 Huy hiệu vàng15 Huy hiệu bạc23 Huy hiệu đồng1 gold badge15 silver badges23 bronze badges
4
Có lệnh cơ sở dữ liệu sao chép mà tôi đoán nên phù hợp với nhu cầu của bạn.
db.copyDatabase("DATABASENAME", "DATABASENAME", "localhost:27018");Ngoài ra, bạn chỉ có thể dừng MongoDB, sao chép các tệp cơ sở dữ liệu vào một máy chủ khác và chạy một thể hiện của MongoDB ở đó.
Chỉnh sửa 2020-04-25
Trích dẫn từ tài liệu MongoDB
MongoDB 4.0 phản đối các lệnh copydb và clone và Trợ giúp Shell của họ db.copyDatabase() và db.cloneDatabase().
Để thay thế, người dùng có thể sử dụng ____10 và mongodump -h example.host.com --port 21018 -d dbname --username username --password yourpass --out <path_you_want_to_dump> 1 (với các tùy chọn mongodump -h example.host.com --port 21018 -d dbname --username username --password yourpass --out <path_you_want_to_dump> 1 mongodump -h example.host.com --port 21018 -d dbname --username username --password yourpass --out <path_you_want_to_dump> 3 và mongodump -h example.host.com --port 21018 -d dbname --username username --password yourpass --out <path_you_want_to_dump> 4) hoặc viết tập lệnh bằng trình điều khiển.
Tham khảo ở đây
Đã trả lời ngày 3 tháng 1 năm 2014 lúc 10:57Jan 3, 2014 at 10:57
Sassassas
Huy hiệu vàng 2.5431 Huy hiệu bạc28 Huy hiệu đồng1 gold badge17 silver badges28 bronze badges
8
Đây phải là một nhận xét cho câu trả lời của @malla, nhưng tôi không có đủ danh tiếng để bình luận vì vậy tôi đang đăng nó ở đây để tham khảo của người khác.
Trong bước 2, khi bạn đang cố gắng kết xuất tệp từ một máy chủ từ xa, hãy nhớ thêm tùy chọn để bạn có thể khôi phục cục bộ sau: (trong lần thử đầu tiên của tôi, tôi đã không thêm nó và nó đã thất bại, nói Dump \ db_name là không tìm thấy). Tôi không chắc cách tôi có hiệu quả hay không. Nhưng nó làm việc cho tôi.
Bước 2:
mongodump -h example.host.com --port 21018 -d dbname --username username --password yourpass --out <path_you_want_to_dump>Bước 3:
mongorestore -d theNameYouWantForYourLocalDB \<path_you_want_to_dump> + nameOfRemoteDBĐã trả lời ngày 3 tháng 7 năm 2019 lúc 3:58Jul 3, 2019 at 3:58
Carol.ZCarol.ZCarol.Z
1331 Huy hiệu bạc6 Huy hiệu đồng1 silver badge6 bronze badges
Đã trả lời ngày 3 tháng 1 năm 2014 lúc 10:57Jan 3, 2014 at 10:57
Sassas10 cls
Huy hiệu vàng 2.5431 Huy hiệu bạc28 Huy hiệu đồng2 gold badges17 silver badges30 bronze badges
Đây phải là một nhận xét cho câu trả lời của @malla, nhưng tôi không có đủ danh tiếng để bình luận vì vậy tôi đang đăng nó ở đây để tham khảo của người khác.
Trong bước 2, khi bạn đang cố gắng kết xuất tệp từ một máy chủ từ xa, hãy nhớ thêm tùy chọn để bạn có thể khôi phục cục bộ sau: (trong lần thử đầu tiên của tôi, tôi đã không thêm nó và nó đã thất bại, nói Dump \ db_name là không tìm thấy). Tôi không chắc cách tôi có hiệu quả hay không. Nhưng nó làm việc cho tôi.Jan 3, 2014 at 10:58
Bước 2:Munim
Bước 3:2 gold badges33 silver badges43 bronze badges