Trong bài viết này, mình sẽ chỉ cho anh em cách dùng các công cụ có sẵn như mongodump, mongoexport, và một số cách khác để giúp backup dữ liệu hoàn toàn miễn phí và dễ dàng. Let’s go!
Hello anh em,
Nếu anh em đang sử dụng tài khoản free MongoDB Atlas để làm việc cho các dự án cá nhân, học tập mà không muốn tốn tiền nâng cấp lên các gói trả phí chỉ để sử dụng tính năng backup, thì đừng lo. Hôm nay, mình sẽ hướng dẫn anh em cách backup dữ liệu từ MongoDB Atlas về máy tính local mà không cần phải upgrade tài khoản tốn tiền mà nhu cầu không cần đến.
Bước 1: Cài Đặt MongoDB Tools
Để thực hiện các bước backup, anh em cần cài bộ công cụ MongoDB Database Tools. Bộ này gồm các tool hỗ trợ đầy đủ cho việc backup và thao tác với MongoDB qua command line.
- Tải MongoDB Tools: MongoDB Tools
- Cài đặt và kiểm tra bằng lệnh sau trên terminal hoặc command prompt:
mongodump --version
mongoexport --version
Nếu trả về số phiên bản của các công cụ trên thì anh em đã cài đặt thành công MongoDB Tools rồi.
Bước 2: Lấy Thông Tin Kết Nối MongoDB Atlas
Để kết nối tới MongoDB Atlas, anh em cần connection string của cluster:
1. Truy cập MongoDB Atlas và chọn Clusters.
2. Nhấn Connect > Connect your application > copy connection string kiểu mongodb+srv://<username>:<password>@cluster0.mongodb.net/test
.
Nhớ thay <username>
, <password>
, và tên cluster theo thông tin của mình nhé.
Bước 3: Thực hiện lệnh backup dữ liệu:
Cách 1: Backup Bằng mongodump
mongodump là công cụ mạnh mẽ và đơn giản nhất để backup toàn bộ database.
mongodump --uri="mongodb+srv://<username>:<password>@cluster0.mongodb.net/mydatabase" --out="/path/to/backup"
Lệnh này sẽ tạo bản backup cho toàn bộ database mydatabase
và lưu vào thư mục chỉ định.
Cách 2: Backup Bằng mongoexport
Nếu anh em chỉ muốn backup từng collection và lưu dưới dạng CSV hoặc JSON, thì có thể dùng lệnh mongoexport.
Ví dụ, backup collection users
từ database mydatabase
và lưu dưới dạng JSON:
mongoexport --uri="mongodb+srv://<username>:<password>@cluster0.mongodb.net/mydatabase" --collection=users --out="/path/to/backup/users.json"
Hoặc nếu anh em muốn lưu dưới dạng CSV:
mongoexport --uri="mongodb+srv://<username>:<password>@cluster0.mongodb.net/mydatabase" --collection=users --type=csv --fields="name,email,age" --out="/path/to/backup/users.csv"
--type=csv
: Chỉ định định dạng CSV.
--fields
: Xác định các cột mà anh em muốn export.
Cách 3: Sử Dụng mongooplog
cho Backup Incremental
Nếu anh em cần backup incremental (chỉ backup những thay đổi từ một thời điểm nhất định), anh em có thể dùng mongooplog để sao lưu các thay đổi từ oplog của MongoDB.
mongooplog --from "mongodb+srv://<username>:<password>@cluster0.mongodb.net" --out="/path/to/oplog-backup"
Lệnh này giúp anh em backup chỉ những thay đổi trong quá trình vận hành, hữu ích cho những dự án yêu cầu backup thường xuyên.
Bước 4: Phục Hồi Dữ Liệu (Restore)
Để phục hồi dữ liệu từ bản backup, anh em có thể dùng:
1. mongorestore
cho backup từ mongodump
:
mongorestore --uri="mongodb+srv://<username>:<password>@cluster0.mongodb.net/mydatabase" /path/to/backup/mydatabase
2. Import lại từ JSON hoặc CSV với mongoimport
:
mongoimport --uri="mongodb+srv://<username>:<password>@cluster0.mongodb.net/mydatabase" --collection=users --file="/path/to/backup/users.json" --jsonArray
Lệnh này sẽ import lại collection users
từ file JSON.
Kết Luận
Backup database MongoDB Atlas có nhiều cách thực hiện mà không cần phải nâng cấp tài khoản. Anh em có thể linh hoạt sử dụng mongodump
để backup toàn bộ dữ liệu hoặc mongoexport
để backup theo định dạng mà mình mong muốn. Ngoài ra, mongooplog
cũng là lựa chọn tuyệt vời cho việc backup incremental nếu anh em cần sự linh động hơn.
Hy vọng bài viết này sẽ giúp anh em dễ dàng hơn trong việc backup và bảo vệ dữ liệu của mình. Nếu có thắc mắc, cứ comment hoặc nhắn tin cho mình nhé!
Chúc anh em thành công!
Discussion (undefined)