Tên máy chủ mongodb ở đâu?

–host={tên máy chủ}. {port} hoặc -p={hostname}. {Hải cảng}. Tùy chọn này giúp MongoDB kết nối với một Máy chủ khác và kết xuất cơ sở dữ liệu tại Máy chủ đó ra. Tùy chọn này thường được sử dụng với tùy chọn “–tên người dùng” và “–mật khẩu”

-collection= hoặc -c= : Tùy chọn giúp backup một collection từ database.

–username={tài khoản} hoặc -u={tài khoản}. Tên tài khoản được sử dụng để kết nối với MongoDB trong trường hợp MongoDB được cài đặt bảo mật

–password={mật khẩu} hoặc -p={mật khẩu}. Mật khẩu cho tài khoản khi sử dụng tùy chọn “–username”

Mọi người có thể đọc thêm tại đây để xem hết các tùy chọn của Mongodump

Ví dụ mình sao lưu cơ sở dữ liệu demo vào thư mục /root/demo2 với tùy chọn –quiet để Mongo không xuất ra màn hình và tùy chọn –port

mongodump -d demo -o /root/demo2 --quiet --port=27017

Tên máy chủ mongodb ở đâu?

Khôi phục

Tương tự với sao lưu, đối với khôi phục ta sẽ sử dụng câu lệnh “mongorestore”

Cơ bản câu lệnh sẽ như sau

mongorestore -d { tên database} -d {thư mục database restore}

Ví dụ, ta cần khôi phục cơ sở dữ liệu với tên là demo và thư mục chứa cơ sở dữ liệu để khôi phục là /root/demo

mongorestore -d demo /root/dbdemo

Tên máy chủ mongodb ở đâu?

Tương tự với mongodump ta sẽ có các tùy chọn

–p={Cổng}. Cổng được sử dụng để kết nối với MongoDB trong trường hợp MongoDB đã được thay đổi Cổng

-Yên tĩnh. Quá trình khôi phục sẽ diễn ra mà đầu ra sẽ không xuất hiện trong màn hình

–host={tên máy chủ}. {port} hay -p={hostname}. {Hải cảng}. Tùy chọn này giúp MongoDB kết nối với một Máy chủ khác và khôi phục cơ sở dữ liệu vào Máy chủ đó. Tùy chọn này thường được sử dụng với tùy chọn “–tên người dùng” và “–mật khẩu”

–username={tài khoản} hay -u={tài khoản}. Tên tài khoản được sử dụng để kết nối với MongoDB trong trường hợp MongoDB được cài đặt bảo mật

–password={mật khẩu} hay -p={mật khẩu}. Mật khẩu cho tài khoản khi sử dụng tùy chọn “–username”

–collection= hay -c=: Dùng để Import một Collection vào database.

Mọi người có thể tìm hiểu thêm các tùy chọn về Mongorestore tại đây

Như vậy là mình đã chia sẻ xong cách backup và restore Mongo Database trên CentOS theo kinh nghiệm của mình, cảm ơn mọi người đã theo dõi hết bài viêt

Bài toán này xuất phát từ nhu cầu thực tế của nhóm Machine Learning. Không phải anh đang muốn sao lưu dữ liệu của viblo lên đám mây, để thuận tiện cho việc sử dụng này, ngoài ra thì lưu nhiều dữ liệu tại máy chủ sản phẩm của viblo cũng không phải giải pháp lâu dài. Thế là mình ngồi mày mò viết code. php to backup data. mongodb và ném lên một cái lưu trữ đám mây nào đó, quá trình này diễn ra tự động, mỗi tháng một lần. Nhưng ngồi 1 lúc, tự nhiên nghĩ ra. quái sao mình lại phải dùng code php để sao lưu. mongodb, trong khi chính nó và AWS S3 cũng hỗ trợ tận răng cho công việc này

The is back on the network search one vài key words, ra được 2 link sau, hướng dẫn khá chi tiết về việc auto backup. https. //www. dự án mật mã. com/Tips/547759/Automating-backup-for-MongoDB-using-CRON-and-S-CMD https. //trung bình. com/@bansalnagesh/backing-up-mongodb-on-aws-ec2-to-s3-b045b5727fd6

ok, bắt tay vào xem thế nào

Các Khái Niệm Cơ Bản

Trước khi tiến hành các bước, ta sẽ tìm hiểu một vài khái niệm mà mình nghĩ là không quá xa lạ với các nhà phát triển

  1. AWS S3 (Amazon Simple Storage Service) là một dịch vụ do Amazon cung cấp giúp người dùng lưu trữ, truy cập, thao tác bẻ khóa dữ liệu trực tuyến, giống như google drive hay dropbox, là một bộ lưu trữ đám mây

Amazon Simple Storage Service là dịch vụ lưu trữ cho Internet. Nó được thiết kế để làm cho tính toán quy mô web dễ dàng hơn cho các nhà phát triển

Amazon S3 cung cấp cho ta khá nhiều api, sdk để ta có thể làm việc được với các ngôn ngữ khác nhau như python, java, php. Trước thì mình định dùng aws-sdk-php để up dữ liệu, may quá trong quá trình làm thì nghĩ ra là tự nhiên mình mất thêm bước nữa để thao tác tới php, khi chỉ mongodb và Amazon s3 là đủ. 2. S3cmd. là một công cụ dòng lệnh để tải lên, truy cập và thao tác dữ liệu trong Amazon S3 và các nhà cung cấp dịch vụ lưu trữ đám mây sử dụng giao thức S3 như google cloud storage hay DreamHost

Bước 1. Lưu trữ Đăng Kí

Bước đầu tiên ta phải đăng ký dịch vụ S3 của Amazon. And the first first of the first time is. đăng ký tài khoản. Các bạn truy cập Amazon https. //www. bảng điều khiển. aws. amazon. com to register account.

Tên máy chủ mongodb ở đâu?

Nhưng để cho nhanh, thì mình sẽ mặc định là tất cả các bạn đang xem bài này đều đã có 1 tài khoản. Ta sẽ chuyển ngay sang bước 2

Bước 2. Set Set S3cmd

Linux

sudo su
sudo yum --enablerepo epel install s3cmd

Ubuntu

wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | sudo apt-key add -
sudo wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list
sudo apt-get install s3cmd

Tên máy chủ mongodb ở đâu?

Run command after to start config s3cmd. Lưu ý, để bắt đầu cấu hình thì bạn phải có tài khoản tại amazon và đã đăng ký sử dụng các dịch vụ của Amazon. Sau đó, tạo một người dùng IAM, trong thông tin người dùng sẽ có id khóa truy cập và khóa bí mật. Trước đó tôi đã đăng kí 1 user viblo, cấp quyền AmazonS3FullAccess cho user này để tiện thao tác với s3

s3cmd --configure

Tên máy chủ mongodb ở đâu?

Sau đó, vào Amazon S3, tạo 1 bucket (thư mục) để lưu dữ liệu. Ở đây tôi đã tạo 1 thư mục là viblo-logs. Ta sẽ kiểm tra xem s3cmd tool đã hoạt động chưa bằng cách chạy lệnh sau