Cách cài đặt và sử dụng mongodb cơ bản trên ubuntu 18.04
Bài đăng này đã không được cập nhật trong 4 năm
Trong thế giới các ứng dụng công nghệ thông tin có hơn chục hệ quản trị cơ sở dữ liệu được sử dụng phổ biến. Trước hết phổ biến và thường gặp nhất là MySQL - là hệ quản trị cơ sở dữ liệu mã nguồn mở có tốc độ cao, ổn định và dễ sử dụng, hoạt động tương thích trên nhiều hệ điều hành. Vì có tính bảo mật cao nên thích hợp cho các ứng dụng sử dụng truy cập internet. Song song đó còn những hệ quản trị cơ sở dữ liệu khác với những khả năng, độ ứng dụng khác nhau. Hôm nay trong bài viết này sẽ giới thiệu đến bạn đọc một hệ quản trị CSDL NoSQL là MongoDB.
MongoDB là gì?
MongoDB là một cơ sở dữ liệu nguồn mở, sử dụng mô hình dữ liệu hướng tài liệu và là một ngôn ngữ truy vấn không có cấu trúc. MongoDB lưu trữ dữ liệu theo hướng tài liệu (document), các dữ liệu được lưu trữ trong document kiểu JSON nên truy vấn sẽ rất nhanh. Mô hình dữ liệu của MongoDB là một mô hình có độ đàn hồi cao cho phép bạn kết hợp và lưu trữ dữ liệu của các kiểu đa biến mà không phải thỏa hiệp với các tùy chọn lập chỉ mục mạnh mẽ, truy cập dữ liệu và quy tắc xác thực.
Cài đặt Mongodb Ubuntu 18.04
Bước 1: Import “MongoDB public GPG Key”
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
- Cài đặt gnupg
sudo apt-get install gnupg
- Sau khi cài đặt gnupg, import lại key
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
Bước 2: Tạo list file MongoDB
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
chú ý: Để biết phiên bản Ubuntu bạn đang sử dụng là gì thì hay chạy lệnh:
lsb_release -dc
Bước 3: Cập nhật lại packages
sudo apt-get update
Bước 4: Cài đặt MongoDB packages
sudo apt-get install -y mongodb-org
Để tránh cơ chế tự động nâng cấp các gói mới hơn của apt-get, chúng ta có thể pin packages ở biên bản hiện tại đang cài đặt.
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections
Kiểm tra MongoDB đã cài đặt thành công chưa
sudo systemctl status mongod
Có output sau:
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset:
Active: inactive (dead)
Docs: https://docs.mongodb.org/manual
lines 1-4/4 (END)
Khởi động MongoDB
sudo systemctl start mongod
Có output sau:
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset:
Active: active (running) since Wed 2020-05-20 08:50:25 +07; 5s ago
Docs: https://docs.mongodb.org/manual
Main PID: 12270 (mongod)
CGroup: /system.slice/mongod.service
└─12270 /usr/bin/mongod --config /etc/mongod.conf
Thg 5 20 08:50:25 Admin-pc systemd[1]: Started MongoDB Database Server.
lines 1-9/9 (END)
Tắt MongoDB
sudo systemctl stop mongod
Có output sau:
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset:
Active: inactive (dead)
Docs: https://docs.mongodb.org/manual
Thg 5 20 08:50:25 admin-pc systemd[1]: Started MongoDB Database Server.
Thg 5 20 08:55:56 admin-pc systemd[1]: Stopping MongoDB Database Server...
Thg 5 20 08:55:56 admin-pc systemd[1]: Stopped MongoDB Database Server.
Restart MongoDB
Bạn cũng có thể restart nó như những service khác.
sudo systemctl restart mongod
Sử dụng MongoDB cơ bản
Tạo một Database mới
Di chuyển vào vùng console MongoDB.
Khi mongoDB ở trạng thái active.
Chúng ta sử dụng lệnh:
mongo
Có output sau:
MongoDB shell version v4.2.6
connectingto:mongodb://127.0.0.1:27017/compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("c412302c-ec34-4420-9ac2-238b5d9efb89") }
MongoDB server version: 4.2.6
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
---
>
Tạo Database
> use [database_name]
Ví dụ : > use testlocal
Check db đang chạy hiện tại :
> db
testlocal
Insert record vào db mới tạo.
> db.testlocal.insert({ nameBlog: "cài đặt mongodb trên ubuntu" })
Output insert thành công :
WriteResult({ "nInserted" : 1 })
Hiển thị tất cả database, tuy nhiên lệnh này chỉ hiển thị mặc định của mongo và những database mình tạo đã có dữ liệu.
Ta sử dụng lệnh.
> show dbs
Output như sau:
admin 0.000GB
config 0.000GB
local 0.000GB
testlocal 0.000GB
Tạo một user mới
Mặc định, MongoDB không có tài khoản administrator mặc định. Thay vào đó nó tạo từng user khác cho mỗi database. Tuy nhiên, bạn cũng cần tạo user với phân quyền nhất định cho từng database.
Hàm db.createUser, như mọi hàm khác trong MongoDB nhận tham số trong JSON. Hàm này cần định tên, mật khẩu, database và quyền của nó.
Để set quyền cho user truy cập vào database đã tạo. Ta có thể tạo một new_user vào database testlocal có roles là readWrite trên db này thì câu lệnh như sau:
> db.createUser(
{
user: "new_user",
pwd: "123456",
roles: [ { role: "readWrite", db: "testlocal" } ]
}
)
Tạo user mới thành công, ta có output sau:
Successfully added user: {
"user" : "new_user",
"roles" : [
{
"role" : "readWrite",
"db" : "testlocal"
}
]
}
Sau khi đã vào trong MongoDB console, bạn có thể xem hướng dẫn bằng lệnh help của nó.
> help
Hiển thị tất cả user
Lệnh này giúp hiển thị tất cả các user có các quyền truy cập vào 1 database.
> show users
Output của nó :
{
"_id" : "testlocal.new_user",
"userId" : UUID("854932c1-ec91-4ba4-9d25-fa82858b3b90"),
"user" : "new_user",
"db" : "testlocal",
"roles" : [
{
"role" : "readWrite",
"db" : "testlocal"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
Xóa một database
> db.dropDatabase()
Output khi xóa thành công.
{ "dropped" : "testlocal", "ok" : 1 }
Thoát khỏi console mongoDB
> exit
Kết nối Database bằng username và password.
mongo -u username -p password host:port/database_name
Ví dụ: mongo -u new_user -p 123456 localhost:27017/admin
Tổng kết
Trên đây là cách cài đặt mongodb trên hệ điều hành ubuntu 18.04 và cách thức sử dụng cơ bản khi mới bắt đầu.
Nếu có gì sai sót mong sự đóng góp của mọi người.
Xin cám ơn.
Sau đây là các link tham khảo:
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
https://vinasupport.com/mongodb-la-gi-huong-dan-cai-dat-mongodb-tren-ubuntu/
Link tham khảo rõ về roles trong mongoDB:
https://stackjava.com/mongodb/cac-loai-roles-vai-tro-quyen-trong-mongodb.html
All rights reserved