Sao chép cơ sở dữ liệu mongodb sang cục bộ

Tính năng sao chép-dán tích hợp của Studio 3T cho phép bạn chuyển cơ sở dữ liệu MongoDB từ máy chủ này sang máy chủ khác một cách dễ dàng

Bạn chưa tải xuống Studio 3T?

Chỉ cần sao chép một bộ sưu tập sang cơ sở dữ liệu khác?

Chỉ cần sao chép một bộ sưu tập sang cơ sở dữ liệu khác? .  

Mở kết nối mục tiêu

Trong ví dụ này, chúng tôi đã mở kết nối nguồn mà chúng tôi muốn sao chép từ. Connection 1. Bây giờ chúng ta cần mở kết nối đích. Để bắt đầu, hãy mở Trình quản lý kết nối ở góc trên bên phải của ứng dụng và chọn hoặc nhập kết nối đích. Trong trường hợp này là Connection 2

Sao chép cơ sở dữ liệu mongodb sang cục bộ

Sao chép cơ sở dữ liệu MongoDB

Tiếp theo, nhấp chuột phải vào cơ sở dữ liệu nguồn mà bạn muốn sao chép từ kết nối nguồn của nó trong Cây kết nối và chọn Sao chép tất cả bộ sưu tập/Chế độ xem/Nhóm.  

Trong trường hợp này, đó là cơ sở dữ liệu Pubs trong Connection 1

Sao chép cơ sở dữ liệu mongodb sang cục bộ

Bạn cũng có thể chỉ cần nhấn Ctrl-C

Chuyển cơ sở dữ liệu MongoDB

Nhấp chuột phải vào kết nối mục tiêu của bạn trong Cây kết nối và chọn Thêm cơ sở dữ liệu…

Trong cửa sổ bật lên, nhập tên của cơ sở dữ liệu nguồn mà bạn đã sao chép từ kết nối nguồn và nhấn OK

Sao chép cơ sở dữ liệu mongodb sang cục bộ

Điều quan trọng cần lưu ý là cả hai kết nối phải được mở trong khi sao chép cơ sở dữ liệu. Điều này là do cơ sở dữ liệu không thể được sao chép trực tiếp – nội dung của chúng phải được chuyển từ cơ sở dữ liệu này sang cơ sở dữ liệu khác

Nhấp chuột phải vào cơ sở dữ liệu trùng lặp trống trong kết nối đích và chọn Dán Bộ sưu tập/Chế độ xem/Nhóm

Bạn cũng có thể nhấn Ctrl-V

Cửa sổ Hoạt động ở góc dưới cùng bên trái của ứng dụng sẽ hiển thị tiến trình của công việc sao chép và cho biết khi nào hoàn thành

Sao chép cơ sở dữ liệu mongodb sang cục bộ

(Tùy chọn) Cơ sở dữ liệu MongoDB nguồn thả

Cuối cùng, nếu bạn muốn xóa cơ sở dữ liệu nguồn khỏi kết nối nguồn, chỉ cần nhấp chuột phải vào cơ sở dữ liệu và chọn Drop Database. Bạn cũng có thể nhấn phím Delete

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

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

Trước tiên hãy xem các tình huống đ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 đối với các nhà phát triển tạo ứ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 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 đến 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 này bên trong /dev/sdb

Cách chúng tôi sao chép 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 ta sẽ xem cách các Kỹ sư hỗ trợ của chúng ta sao chép cơ sở dữ liệu MongoDB sang máy chủ mới của khách hàng

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

Bạn luôn nên tắt mọi kết nối 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 mọi mất mát dữ liệu

Do đó, 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ờ là lúc tạo 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ủa cơ sở dữ liệu có tên exampledb, lệnh sẽ là

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

3. Sao chép 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à máy chủ dàn dựng dưới dạng phiên bản AWS. Vì vậy, chúng tôi đã sử dụng scp để chuyển các tập tin

Để 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 yêu cầu 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, đã đến lúc 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ẽ là

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

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

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

Như vậy là đã hoàn thành việc khôi phục mà không có bất kỳ lỗi nào

copy_mongodb_database_files

5. Truy cập 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 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ài đặt mạng của bảng điều khiển AWS. Chúng tôi đã mở lưu lượng truy cập vào và ra 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 tệp cơ sở dữ liệu MongoDB sang máy chủ mới? . ]

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

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

Chạy mongodump từ dòng lệnh hệ thống, không phải shell mongo. .
Kết nối với Phiên bản MongoDB. Để kết nối với phiên bản MongoDB cục bộ chạy trên cổng 27017 và sử dụng cài đặt mặc định để xuất nội dung, hãy chạy mongodump mà không có bất kỳ tùy chọn dòng lệnh nào. .
Kết nối với Bộ bản sao. .
Kết nối với một cụm phân đoạn

MongoDB có thể được lưu trữ cục bộ không?

Cài đặt Phiên bản máy chủ cộng đồng MongoDB cho phép chúng tôi lưu trữ cục bộ cơ sở dữ liệu MongoDB không giống như Atlas là tùy chọn cơ sở dữ liệu được lưu trữ trên đám mây.

Làm cách nào để sao lưu cơ sở dữ liệu MongoDB?

Bạn có thể tạo bản sao lưu triển khai MongoDB bằng cách tạo bản sao các tệp dữ liệu cơ bản của MongoDB . Nếu ổ đĩa nơi MongoDB lưu trữ các tệp dữ liệu của nó hỗ trợ ảnh chụp nhanh tại thời điểm, bạn có thể sử dụng các ảnh chụp nhanh này để tạo bản sao lưu của hệ thống MongoDB tại một thời điểm chính xác.