Table of Contents
- การติดตั้ง MongoDB บน Ubuntu 20.04
- Start service MongoDB
- การเพิ่ม user เพื่อจัดการสิทธิ์ให้ MongoDB
- สรุป
MongoDB สามารถทำงานได้แทบจะทุก OS สามารถเข้าไปเลือกวิธีติดตั้งให้เหมาะกับระบบที่ link ด้านล่างนี่ครับ
https://docs.mongodb.com/manual/installation
และบทความนี้ จะยกตัวอย่างการติดตั้ง mongodb บน ubuntu ครับ
การติดตั้ง MongoDB บน Ubuntu 20.04
1. สร้าง mongodb ให้ ubuntu ไปดาวน์โหลดมาติดตั้งได้
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
2. อัปเดต package ของ ubuntu
sudo apt-get update
3. ติดตั้ง MongoDB
sudo apt-get install -y mongodb-org
4. ตรวจสอบผลการติดตั้ง โดยการพิมพ์คำสั่งต่อไปนี้ครับ
mongo --version
และถ้าเห็นผลลัพธ์ดังต่อไปนี้ แสดงว่าติดตั้งสำเร็จครับ
MongoDB shell version v5.0.7
Build Info: {
"version": "5.0.7",
"gitVersion": "b977129dc70eed766cbee7e412d901ee213acbda",
"openSSLVersion": "OpenSSL 1.1.1f 31 Mar 2020",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "ubuntu2004",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
Start service MongoDB
1. เมื่อติดตั้ง mongodb เสร็จแล้ว ก็สามารถ start service ด้วยคำสั่งด้านล่างนี้ครับ
sudo systemctl start mongod
2. เมื่อ start service เรียบร้อยแล้ว ก็สามารถตรวจสอบ status ว่า mongo ทำงานอยู่หรือไม่ด้วยคำสั่งด้านล่างนี้ครับ
sudo systemctl status mongod
ผลลัพธ์
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: active (running) since Fri 2021-04-16 07:50:02 +07; 3s ago
Docs: https://docs.mongodb.org/manual
การเพิ่ม user เพื่อจัดการสิทธิ์ให้ MongoDB
หลังจากที่เรา start mongodb service ขึ้นมา และทำการแก้ไข config เสร็จเรียบร้อยแล้ว ก็ให้เปิด terminal ขึ้นมาครับ โดยปกติแล้ว เวลาเราลง mongodb จะให้ตัว mongo client มาด้วย เราสามารถเรียกใช้มันได้ ด้วยคำสั่งนี้ครับ
mongo
ผลลัพธ์
MongoDB shell version v5.0.7
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("2abfe3bb-4cb9-4162-9108-64fcf32bd5d3") }
MongoDB server version: 5.0.7
แรกเริ่มเดิมที ถ้าเรายังไม่ได้กำหนดสิทธิ์ เราจะสามารถเข้าระบบได้เลย เพราะไม่มี auth ใดๆ เพราะฉะนั้น เราต้องสร้าง Admin User ขึ้นมาก่อนครับ
> db.createUser(
... {
... user: 'root',
... pwd: 'root',
... roles: [ { role: 'root', db: 'admin' } ]
... }
... )
เปิด termimal ใหม่ขึ้นมา และใช้คำสั่งต่อไปนี้ เพื่อ connect ไปหา mongodb ครับ
mongo -u 'root' -p 'root' --authenticationDatabase 'admin'
สร้าง user เพิ่มเติมอีกหนึ่ง user ซึ่ง user ต่อไปนี้เราจะให้สิทธิ์แค่ read-write database ที่เรากำหนดเท่านั้นครับ
db.createUser({
user: 'rwuser',
pwd: 'rwpassword',
roles: [{ role: 'readWrite', db: 'myDatabase' }]
})
เพียงเท่านี้ เราก็จะสามารถสร้าง user ใหม่ และกำหนดสิทธิ์ให้ user ได้แล้วครับ สำหรับสิทธิ์อื่นๆ สามารถตรวจสอบได้ลิงก์ด้านล่างนี้ครับ
https://docs.mongodb.com/manual/reference/built-in-roles/
สรุป
บทความนี้ ผมแนะนำวิธีการติดตั้ง MongoDB บน ubuntu และได้แนะนำวิธีเปิด authentication และสร้าง user รวมถึง assign สิทธิ์ให้ user ด้วย หวังว่าจะเป็นประโยชน์นะครับ ขอบคุณมากๆ เลย ที่แวะเข้ามาอ่านนะครับ