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.04Bướ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 MongoDBecho "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 packagessudo apt-get update
Bước 4: Cài đặt MongoDB packagessudo 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 sudo apt-get install gnupg 0 sudo apt-get install gnupg 1 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 sudo apt-get install gnupg 0 sudo apt-get install gnupg 1 Kiểm tra MongoDB đã cài đặt thành công chưa sudo apt-get install gnupg 2 Có output sau: sudo apt-get install gnupg 3 sudo apt-get install gnupg 4 sudo apt-get install gnupg 5 sudo apt-get install gnupg 6 sudo apt-get install gnupg 7 sudo apt-get install gnupg 4 sudo apt-get install gnupg 5 sudo apt-get install gnupg 6 sudo apt-get install gnupg 7 Khởi động MongoDB sudo apt-get install gnupg 8 Có output sau: sudo apt-get install gnupg 3 sudo apt-get install gnupg 4 sudo apt-get install gnupg 5 sudo apt-get install gnupg 6 sudo apt-get install gnupg 7 sudo apt-get install gnupg 4 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 1 sudo apt-get install gnupg 6 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 3 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 4 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 5 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 6 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 7 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 8 Khởi động MongoDB sudo apt-get install gnupg 8 Có output sau: sudo apt-get install gnupg 3 sudo apt-get install gnupg 4 sudo apt-get install gnupg 5 sudo apt-get install gnupg 6 sudo apt-get install gnupg 7 sudo apt-get install gnupg 4 sudo apt-get install gnupg 5 sudo apt-get install gnupg 6 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 6 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 5 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 6 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 7 Khởi động MongoDB sudo apt-get install gnupg 8 sudo apt-get install gnupg 3 sudo apt-get install gnupg 4 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 1 sudo apt-get install gnupg 6 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 3 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 4 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 5 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 6 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 7 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 8 Tắt MongoDB wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -9 sudo apt-get install gnupg 3 sudo apt-get install gnupg 4 sudo apt-get install gnupg 5 sudo apt-get install gnupg 6 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 6 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 5 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 6 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 7 Restart MongoDB Chúng ta sử dụng lệnh: Bạn cũng có thể restart nó như những service khác. Có output sau: sudo apt-get install gnupg 3 sudo apt-get install gnupg 4 sudo apt-get install gnupg 5 sudo apt-get install gnupg 6 sudo apt-get install gnupg 7 lsb_release -dc 1 lsb_release -dc 2 lsb_release -dc 3 lsb_release -dc 4 lsb_release -dc 5 lsb_release -dc 6 lsb_release -dc 7 lsb_release -dc 8 lsb_release -dc 9 sudo apt-get update 0 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 6 sudo apt-get update 2 Khởi động MongoDB sudo apt-get install gnupg 8 sudo apt-get install gnupg 3 sudo apt-get install gnupg 4 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 1 sudo apt-get install gnupg 6 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 3 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 4 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 5 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 6 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 7 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 8 Tắt MongoDB wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 9 sudo apt-get update 6 sudo apt-get install gnupg 3 sudo apt-get install gnupg 4 sudo apt-get install gnupg 5 sudo apt-get install gnupg 6 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 6 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 5 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 6 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 7 Restart MongoDB Bạn cũng có thể restart nó như những service khác. 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 8 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: sudo apt-get install -y mongodb-org 1 sudo apt-get install -y mongodb-org 2 sudo apt-get install -y mongodb-org 3 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 9 lsb_release -dc 0 lsb_release -dc 1 lsb_release -dc 2 lsb_release -dc 3 lsb_release -dc 4 lsb_release -dc 5 lsb_release -dc 6 lsb_release -dc 7 lsb_release -dc 8 lsb_release -dc 9 sudo apt-get update 0 wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - 6 sudo apt-get update 2 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: Tạo Database sudo apt-get install -y mongodb-org 5 sudo apt-get install -y mongodb-org 6 sudo apt-get install -y mongodb-org 7 sudo apt-get install -y mongodb-org 8 sudo apt-get install -y mongodb-org 9
echo "mongodb-org hold" | sudo dpkg --set-selections 0 sudo apt-get update 3 Ví dụ : sudo apt-get update 4 echo "mongodb-org hold" | sudo dpkg --set-selections 2 echo "mongodb-org hold" | sudo dpkg --set-selections 3 sudo apt-get install -y mongodb-org 5 echo "mongodb-org hold" | sudo dpkg --set-selections 5 echo "mongodb-org hold" | sudo dpkg --set-selections 6 sudo apt-get install -y mongodb-org 9 echo "mongodb-org hold" | sudo dpkg --set-selections 8 sudo apt-get install -y mongodb-org 9 Check db đang chạy hiện tại : sudo apt-get update 5 sudo apt-get update 6 Insert record vào db mới tạo. sudo apt-get update 7 Output insert thành công : sudo apt-get update 8 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. echo "mongodb-org-server hold" | sudo dpkg --set-selections 3
echo "mongodb-org-server hold" | sudo dpkg --set-selections 4 echo "mongodb-org hold" | sudo dpkg --set-selections 2 echo "mongodb-org-server hold" | sudo dpkg --set-selections 6 echo "mongodb-org hold" | sudo dpkg --set-selections 3 sudo apt-get install -y mongodb-org 5 echo "mongodb-org hold" | sudo dpkg --set-selections 5 echo "mongodb-org hold" | sudo dpkg --set-selections 6 sudo apt-get install -y mongodb-org 9 echo "mongodb-org-shell hold" | sudo dpkg --set-selections 2 echo "mongodb-org-shell hold" | sudo dpkg --set-selections 3 echo "mongodb-org-shell hold" | sudo dpkg --set-selections 4 echo "mongodb-org-shell hold" | sudo dpkg --set-selections 5 echo "mongodb-org hold" | sudo dpkg --set-selections 8 sudo apt-get install -y mongodb-org 9 sudo apt-get update9echo "mongodb-org-shell hold" | sudo dpkg --set-selections 8
Output như sau: sudo apt-get install -y mongodb-org 0 sudo apt-get install -y mongodb-org 1 sudo apt-get install -y mongodb-org 2 sudo apt-get install -y mongodb-org 3 Tạo một user mớisudo apt-get install gnupg 00
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:sudo apt-get install gnupg 01
sudo apt-get install -y mongodb-org 4 sudo apt-get install -y mongodb-org 5 sudo apt-get install -y mongodb-org 6 sudo apt-get install -y mongodb-org 7 sudo apt-get install -y mongodb-org 8 sudo apt-get install -y mongodb-org 9 echo "mongodb-org hold" | sudo dpkg --set-selections 0
Tạo user mới thành công, ta có output sau: |