Cài đặt MongoDB4.2 trên CentOS7
Tài liệu tham khảo
Trang web chính thức Hướng dẫn sử dụng sản phẩm NoSQLThêm tệp REPO
Sử dụng vi hoặc vim để chỉnh sửa tệp /etc/yum.repos.d/mongodb-enterprise.repo, sao chép nội dung sau vào tệp, sau đó lưu và thoát. Trong ví dụ, phiên bản 4.2 được cài đặt. Phiên bản mới nhất là 4.4. Nếu bạn cần cài đặt phiên bản mới nhất, vui lòng sửa đổi 4.2 thành 4.4 trong ví dụ.
[mongodb-enterprise]
name=MongoDB Enterprise Repository
baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/4.2/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
Thực hiện thao tác cài đặt và bắt đầu dịch vụ
yum install -y mongodb-enterprise
systemctl enable mongod
systemctl start mongod
Tạo tài khoản quản trị viên
Mongodb được kết nối ẩn danh theo mặc định. Nếu chúng ta cần bật xác thực đăng nhập, trước tiên chúng ta phải tạo một tài khoản đăng nhập và cấp quyền cho nó ở trạng thái kết nối ẩn danh. Nếu bạn trực tiếp bật xác minh đăng nhập mà không tạo tài khoản trước, thì chúng tôi sẽ không thể kết nối với dịch vụ mongodb. Trong ví dụ sau, chúng tôi tạo một tài khoản với tài khoản my_account và mật khẩu my_password, đồng thời ủy quyền nó với tư cách là người quản trị cơ sở dữ liệu.
use admin;
db.createUser({user:"my_account",pwd:"my_password",roles:[{role:"userAdminAnyDatabase",db:"admin"},"readWriteAnyDatabase"]});
exit
Sửa đổi tệp cấu hình và bật xác minh đăng nhập
Sử dụng vi hoặc vim để chỉnh sửa /etc/mongod.conf, sửa đổi IP và cổng bị ràng buộc, sau đó bật xác thực đăng nhập. Để biết chi tiết, vui lòng tham khảo ví dụ sau.
net:
port: 27017
bindIp: 0.0.0.0
security:
authorization: enabled
Khởi động lại dịch vụ và xác minh rằng sửa đổi có hiệu lực
Sau khi khởi động lại dịch vụ, chúng tôi kết nối với mongodb. Lưu ý rằng kết nối có thể được thiết lập thành công tại thời điểm này, khi thực hiện lệnh, chúng tôi sẽ nhắc cấp quyền. Khi đó nghĩa là chúng ta đã bật phân quyền đăng nhập thành công, tiếp theo chúng ta sử dụng tài khoản vừa tạo để thực hiện các thao tác phân quyền, sau khi phân quyền thành công chúng ta có thể thực hiện bất kỳ thao tác nào trên cơ sở dữ liệu. Tham khảo ví dụ bên dưới để biết các lệnh được sử dụng.
systemctl restart mongod
mongo
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
use admin;
db.auth('my_account','my_password');
Tạo dữ liệu của riêng bạn
mongodb không cần thực hiện lệnh để tạo cơ sở dữ liệu, nó có thể được tạo tự động bằng cách sử dụng trực tiếp tên cơ sở dữ liệu không tồn tại. Chúng tôi thường không khuyên bạn nên sử dụng tài khoản quản trị viên để kết nối với cơ sở dữ liệu, vì vậy chúng tôi cũng cần tạo lại tài khoản thuộc cơ sở dữ liệu mới. Trong ví dụ sau, chúng tôi tạo một cơ sở dữ liệu có tên my_db và tạo một tài khoản cho nó.
use my_db;
db.createUser({user:"my_db_admin",pwd:"my_db_password",roles:[{role:"dbAdmin",db:"my_db"},"readWrite"]});
Sao lưu và khôi phục cơ sở dữ liệu
Tệp sao lưu cơ sở dữ liệu mongodb là nhiều tệp được lưu trữ trong một thư mục và kết quả sao lưu của cơ sở dữ liệu quan hệ mà chúng ta thường sử dụng là một tệp độc lập. Do đó, sau khi sao lưu xong, thông thường chúng ta cần nén nó thành một tập tin riêng bằng công cụ nén rồi sao chép và chuyển nó. Sau đây là một ví dụ về sao lưu và khôi phục cơ sở dữ liệu.
mongodump -u my_db_account -p my_db_password -d my_db -o /home
mongorestore -d my_db -u my_db_account -p my_db_password --drop /home/my_db/