วิธีการติดตั้ง MongoDB บน ​​Ubuntu 20.04

ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับการติดตั้งและจัดการ MongoDB บนระบบ Ubuntu

MongoDB เป็นฐานข้อมูล NoSQL ซึ่งเป็นโอเพ่นซอร์สและเน้นเอกสารที่ใช้สำหรับจัดการเว็บแอปพลิเคชัน มันจัดเก็บข้อมูลแบบไดนามิกในเอกสารที่จัดรูปแบบ JSON ที่ไม่ต้องการสคีมาที่กำหนดไว้ล่วงหน้าเช่นฐานข้อมูลแบบตารางทั่วไป

ในบทความนี้ เราจะมาดูวิธีการติดตั้งและกำหนดค่า MongoDB บนระบบ Ubuntu 20.04 LTS

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเริ่ม ให้เข้าสู่ระบบในฐานะผู้ใช้ที่เปิดใช้งาน sudo และอัปเดตและอัปเกรดแพ็คเกจบนเซิร์ฟเวอร์ของคุณโดยออกคำสั่งที่แสดงด้านล่าง

sudo apt update && sudo apt อัปเกรด

การติดตั้ง MongoDB บน ​​Ubuntu 20.04

มีสองวิธีในการติดตั้ง MongoDB บนเครื่อง Ubuntu ของคุณ อันดับแรก จากที่เก็บเริ่มต้นของ Ubuntu ซึ่งมี MongoDB 3.6 เวอร์ชันที่เก่ากว่า และประการที่สอง โดยการเพิ่มที่เก็บแพ็คเกจเฉพาะของ MongoDB (มี MongoDB 4.4 เวอร์ชันล่าสุด) ลงใน ฉลาด ทรัพยากรของระบบของคุณ

MongoDB Inc ไม่รองรับแพ็คเกจ mongoDB ในที่เก็บ Ubuntu มันยังแตกต่างจาก mongodb-org แพ็คเกจ ดังนั้นจึงแนะนำให้ติดตั้ง MongoDB โดยเพิ่มที่เก็บแพ็คเกจเฉพาะของ MongoDB ลงใน ฉลาด ทรัพยากร.

การติดตั้ง MongoDB โดยการเพิ่มที่เก็บข้อมูลอย่างเป็นทางการ

ขั้นแรก นำเข้าคีย์ GPG สาธารณะของ MongoDB เวอร์ชันล่าสุด หากต้องการค้นหาคีย์ที่เหมาะสม ไปที่ URL นี้และมองหา เซิร์ฟเวอร์-x.x.asc ไฟล์ที่สอดคล้องกับ MongoDB เวอร์ชันล่าสุดปัจจุบัน

ในขณะที่เขียนบทความนี้ MongoDB เวอร์ชันใหม่ล่าสุดคือ 4.4. ดังนั้นเราจะเลือกสิ่งนั้นและใช้คำสั่งด้านล่างเพื่อนำเข้าคีย์ GPG สำหรับเวอร์ชัน 4.4

wget -qO - //www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key เพิ่ม -

เมื่อดำเนินการสำเร็จ คำสั่งจะให้ผลลัพธ์เป็น ตกลง.

เนื่องจากเราต้องการ mongodb-org เพื่อติดตั้ง MongoDB เวอร์ชันล่าสุด เพิ่มที่เก็บ MongoDB อย่างเป็นทางการให้กับระบบของคุณโดยใช้คำสั่งด้านล่าง

echo "deb [ arch=amd64,arm64 ] //repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

ตอนนี้อัพเดตฐานข้อมูลแพ็คเกจท้องถิ่นและติดตั้ง mongodb-org package โดยรันคำสั่งด้านล่างทีละตัว

sudo apt-get update -y sudo apt-get ติดตั้ง mongodb-org -y

เมื่อติดตั้ง MongoDB แล้ว ให้เริ่มและเปิดใช้งาน mongod บริการบนระบบของคุณโดยใช้คำสั่งด้านล่าง

systemctl เริ่ม mongod systemctl เปิดใช้งาน mongod

หากต้องการตรวจสอบว่า MongoDB ทำงานอยู่บนระบบของคุณ ให้ใช้คำสั่งด้านล่าง ควรแสดงสถานะเป็นใช้งานอยู่

สถานะ systemctl mongod
mongod.service - เซิร์ฟเวอร์ฐานข้อมูล MongoDB โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/mongod.service; เปิดใช้งาน; ผู้ขาย p> ใช้งานอยู่: ใช้งานอยู่ (ทำงาน) ตั้งแต่วันอังคารที่ 2020-08-18 09:01:48 UTC; 45 วินาทีที่แล้ว เอกสาร : //docs.mongodb.org/manual Main PID: 13739 (mongod) หน่วยความจำ: 79.1M CGroup: /system.slice/mongod.service └─13739 /usr/bin/mongod --config /etc/mongod.conf 

คุณยังสามารถตรวจสอบสถานะการเชื่อมต่อ เวอร์ชันปัจจุบัน ที่อยู่เซิร์ฟเวอร์ และพอร์ตได้ด้วยคำสั่งต่อไปนี้:

mongo --eval 'db.runCommand ({ สถานะการเชื่อมต่อ: 1 })'

หากสถานะการเชื่อมต่อแสดงขึ้น โอเค : 1แสดงว่าเซิร์ฟเวอร์ทำงานอย่างเหมาะสมดังแสดงในผลลัพธ์ด้านล่าง

MongoDB เชลล์เวอร์ชัน v4.2.8 เชื่อมต่อกับ: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("6ba987a2-30fc-4d84-8665-57f28b1bbfd9") } MongoDB เวอร์ชันเซิร์ฟเวอร์: 4.2.8 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

หมายเลขพอร์ตเริ่มต้นของ MongoDB คือ 27017, วิ่งต่อไป 127.0.0.1ซึ่งเป็นที่อยู่ลูปแบ็คสำหรับ localhost

การกำหนดค่า MongoDB

การกำหนดค่า MongoDB เป็นทางเลือก เนื่องจากการตั้งค่าการกำหนดค่าเริ่มต้นเพียงพอต่อความต้องการของคุณ แต่สำหรับสภาพแวดล้อมการใช้งานจริง ขอแนะนำให้เปิดใช้งานการอนุญาต

ไฟล์การกำหนดค่าของ MongoDB มีอยู่ในไฟล์ /ฯลฯ ไดเร็กทอรี หากต้องการแก้ไข ให้พิมพ์คำสั่งต่อไปนี้ในเทอร์มินัลของคุณ

นาโน /etc/mongod.conf

ตอนนี้ไปที่ด้านล่างของไฟล์และยกเลิกการใส่เครื่องหมายตัวเลือกความปลอดภัยโดยลบ # สัญลักษณ์และประเภท การอนุญาต: เปิดใช้งาน ดังที่แสดงด้านล่าง

ความปลอดภัย: การอนุญาต: เปิดใช้งาน

รีสตาร์ท MongoDB ด้วยคำสั่งต่อไปนี้เพื่อใช้การเปลี่ยนแปลง

systemctl รีสตาร์ท mongod

หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า MongoDB โปรดไปที่หน้าเอกสารนี้

การสร้างและยืนยันผู้ดูแลระบบ MongoDB

ตอนนี้เราจะสร้างผู้ดูแลระบบที่สามารถเข้าถึงฐานข้อมูล MongoDB

การสร้างผู้ดูแลระบบ MongoDB

ในการเข้าถึงเชลล์ MongoDB ให้ใช้ มองโก สั่งการ.

มองโก

จากนั้น เข้าถึงฐานข้อมูลผู้ดูแลระบบ MongoDB ด้วยคำสั่งต่อไปนี้

ใช้ผู้ดูแลระบบ

ตอนนี้ใช้คำสั่งต่อไปนี้เพื่อสร้างผู้ใช้ใหม่และรหัสผ่านที่มีบทบาท userAdminAnyDatabase.

db.createUser ({ ผู้ใช้: "ชื่อผู้ใช้", pwd: "PasswordOfYourChoice", บทบาท: [{ บทบาท:"userAdminAnyDatabase", db:"admin"}] } )

บันทึก: แทนที่ค่าของผู้ใช้ (ชื่อผู้ใช้) และรหัสผ่าน (รหัสผ่านของทางเลือกของคุณ) ตามที่คุณต้องการ

หลังจากสร้างผู้ใช้ MongoDB สำเร็จแล้ว ให้พิมพ์ ล้มเลิก() เพื่อออกจากเปลือก

ล้มเลิก()

ตรวจสอบการตรวจสอบสิทธิ์ของผู้ดูแลระบบ

ในการตรวจสอบการตรวจสอบสิทธิ์ เข้าถึงบัญชีผู้ดูแลระบบด้วยคำสั่งด้านล่าง

mongo -u ชื่อผู้ใช้ -p --authenticationDatabase ผู้ดูแลระบบ

เชลล์จะแจ้งให้คุณป้อนรหัสผ่าน พิมพ์รหัสผ่านที่คุณเลือกสำหรับผู้ใช้ตามคำแนะนำด้านบน แล้วกด เข้าสู่.

จากนั้นเข้าสู่ฐานข้อมูลผู้ดูแลระบบด้วยคำสั่งต่อไปนี้

ใช้ผู้ดูแลระบบ

ตอนนี้ออก แสดงผู้ใช้ คำสั่งในเชลล์เพื่อดึงรายละเอียดของผู้ใช้ที่รับรองความถูกต้องทั้งหมด

แสดงผู้ใช้
{ "_id" : "admin.UserName", "userId" : UUID("d5e186d7-0520-41a5-8f42-da3b7b8e8868"), "user" : "UserName", "db" : "admin", "roles" : [ { "บทบาท" : "userAdminAnyDatabase", "db" : "admin" } ], "กลไก" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }

คุณควรเห็นชื่อผู้ใช้ที่คุณสร้างขึ้นในขั้นตอนข้างต้นในผลลัพธ์

การจัดการ MongoDB

ในการจัดการกระบวนการ mongod เราใช้ built-in ในนั้น ระบบของอูบุนตู เวอร์ชัน Ubuntu จาก 16.04 Xenial use systemd เพื่อจัดการ MongoDB ซึ่งใช้ systemctl สั่งการ.

หยุดบริการ mongod

เพื่อหยุด mongod กระบวนการ ใช้คำสั่งต่อไปนี้

sudo systemctl หยุด mongod

เริ่มบริการ mongod

เพื่อเริ่มต้น mongod กระบวนการ ใช้คำสั่งต่อไปนี้

sudo systemctl เริ่ม mongod

รีสตาร์ท Mongod

เพื่อรีสตาร์ท mongod กระบวนการ ใช้คำสั่งต่อไปนี้

sudo systemctl รีสตาร์ท mongod

เราได้ติดตั้ง MongoDB เวอร์ชันล่าสุดบนเครื่อง Ubuntu 20.04 ของคุณเรียบร้อยแล้ว หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับ MongoDB โปรดดูเอกสารนี้