ติดตั้ง MongoDB4.2 บน CentOS7

ข้อมูลอ้างอิง

เว็บไซต์อย่างเป็นทางการ คู่มือผลิตภัณฑ์ NoSQL

เพิ่มไฟล์ REPO

ใช้ vi หรือ vim เพื่อแก้ไขไฟล์ /etc/yum.repos.d/mongodb-enterprise.repo คัดลอกเนื้อหาต่อไปนี้ไปยังไฟล์จากนั้นบันทึกและออก ในตัวอย่างมีการติดตั้งเวอร์ชัน 4.2 เวอร์ชันล่าสุดคือ 4.4 หากคุณต้องการติดตั้งเวอร์ชันล่าสุดโปรดแก้ไข 4.2 เป็น 4.4 ในตัวอย่าง

            [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
        

ดำเนินการติดตั้งและเริ่มบริการ

            yum install -y mongodb-enterprise
systemctl enable mongod
systemctl start mongod
        

สร้างบัญชีผู้ดูแลระบบ

Mongodb เชื่อมต่อโดยไม่ระบุตัวตนตามค่าเริ่มต้นหากเราต้องการเปิดใช้งานการตรวจสอบการเข้าสู่ระบบก่อนอื่นเราต้องสร้างบัญชีเข้าสู่ระบบและให้สิทธิ์ในสถานะการเชื่อมต่อแบบไม่ระบุตัวตน หากคุณเปิดการยืนยันการเข้าสู่ระบบโดยตรงโดยไม่ต้องสร้างบัญชีก่อนเราจะไม่สามารถเชื่อมต่อกับบริการ mongodb ได้ ในตัวอย่างต่อไปนี้เราสร้างบัญชีด้วยบัญชี my_account และรหัสผ่านของ my_password และอนุญาตให้เป็นผู้ดูแลระบบฐานข้อมูล

            use admin;
db.createUser({user:"my_account",pwd:"my_password",roles:[{role:"userAdminAnyDatabase",db:"admin"},"readWriteAnyDatabase"]});
exit
        

แก้ไขไฟล์การกำหนดค่าและเปิดใช้งานการตรวจสอบการเข้าสู่ระบบ

ใช้ vi หรือ vim เพื่อแก้ไข /etc/mongod.conf แก้ไข IP และพอร์ตที่ถูกผูกไว้จากนั้นเปิดใช้งานการพิสูจน์ตัวตนล็อกอิน สำหรับรายละเอียดโปรดดูตัวอย่างต่อไปนี้

            net:
  port: 27017
  bindIp: 0.0.0.0  
security:
  authorization: enabled
        

เริ่มบริการใหม่และตรวจสอบว่าการปรับเปลี่ยนมีผล

หลังจากเริ่มบริการใหม่เราจะเชื่อมต่อกับ mongodb โปรดทราบว่าสามารถสร้างการเชื่อมต่อได้สำเร็จในขณะนี้เมื่อเราดำเนินการคำสั่งเราจะแจ้งให้ทำการอนุญาต นั่นหมายความว่าเราได้เปิดใช้งานการอนุญาตการเข้าสู่ระบบสำเร็จแล้วต่อไปเราใช้บัญชีที่เราเพิ่งสร้างขึ้นสำหรับการอนุญาตหลังจากการอนุญาตสำเร็จเราสามารถดำเนินการใด ๆ กับฐานข้อมูลได้ อ้างอิงถึงตัวอย่างด้านล่างสำหรับคำสั่งที่ใช้

            systemctl restart mongod
mongo
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
use admin;
db.auth('my_account','my_password');
        

สร้างข้อมูลของคุณเอง

mongodb ไม่จำเป็นต้องดำเนินการคำสั่งเพื่อสร้างฐานข้อมูลสามารถสร้างโดยอัตโนมัติโดยใช้ชื่อฐานข้อมูลที่ไม่มีอยู่โดยตรง โดยปกติเราไม่แนะนำให้ใช้บัญชีผู้ดูแลระบบเพื่อเชื่อมต่อกับฐานข้อมูลดังนั้นเราจึงจำเป็นต้องสร้างบัญชีที่เป็นของฐานข้อมูลใหม่อีกครั้ง ในตัวอย่างต่อไปนี้เราสร้างฐานข้อมูลชื่อ my_db และสร้างบัญชีสำหรับมัน

            use my_db;
db.createUser({user:"my_db_admin",pwd:"my_db_password",roles:[{role:"dbAdmin",db:"my_db"},"readWrite"]});
        

การสำรองและเรียกคืนฐานข้อมูล

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

            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/