วิธีติดตั้ง MariaDB บน CentOS 8

เมื่อมีการติดตั้งเว็บเซิร์ฟเวอร์และระบบได้เริ่มทำงานแล้ว ต้องติดตั้งระบบฐานข้อมูลเพื่อให้สามารถจัดเก็บและจัดการข้อมูลสำหรับไซต์  เราจะติดตั้ง MariaDB ซึ่งเป็นทางเลือกที่พัฒนาโดยโดย Oracle

หากต้องการติดตั้งซอฟต์แวร์นี้ ให้รันคำสั่ง

sudo dnf install mariadb-server

เมื่อการติดตั้งเสร็จสิ้น คุณสามารถเปิดใช้งานและเริ่มต้นเซิร์ฟเวอร์ MariaDB ด้วย

sudo systemctl start mariadb

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

sudo mysql_secure_installation

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

ข้อความถัดไปจะถามว่า ต้องการตั้งค่ารหัสผ่าน root ฐานข้อมูลหรือไม่ เนื่องจาก MariaDB ใช้วิธีการรับรองความถูกต้องแบบพิเศษสำหรับผู้ใช้ root ซึ่งโดยทั่วไปจะปลอดภัยกว่าการใช้รหัสผ่าน คุณจึงไม่จำเป็นต้องตั้งค่านี้ในตอนนี้ พิมพ์ N แล้วกด ENTER จากนั้น คุณสามารถกด Y แล้วกด ENTER เพื่อยอมรับค่าเริ่มต้นสำหรับคำถามต่อๆ ไปทั้งหมด การดำเนินการนี้จะลบผู้ใช้ที่ไม่ระบุชื่อและฐานข้อมูลที่ใช้ทดสอบ ปิดใช้งานการเข้าสู่ระบบ root ระยะไกล 

เมื่อเสร็จแล้ว ให้เข้าสู่ระบบคอนโซล MariaDB โดยพิมพ์

sudo mysql

สิ่งนี้จะเชื่อมต่อกับเซิร์ฟเวอร์ MariaDB ในฐานะ root ผู้ใช้ฐานข้อมูลผู้ดูแลระบบ และจะเห็นผลลัพธ์ดังนี้

เพื่อความปลอดภัยที่เพิ่มขึ้น วิธีที่ดีที่สุดคือตั้งค่าบัญชีผู้ใช้ที่ให้สิทธิ์เข้าถึงฐานข้อมูลบางฐานข้อมูลโดยเฉพาะ สำหรับในกรณีที่จะมีฐานข้อมูลหลายฐานข้อมูลที่โฮสต์บนเซิร์ฟเวอร์ เพื่อแสดงให้เห็นการตั้งค่าดังกล่าว เราจะสร้างฐานข้อมูลชื่อ example_database และผู้ใช้ชื่อ example_user 

หากต้องการสร้างฐานข้อมูลใหม่ ให้รันคำสั่งต่อไปนี้จากคอนโซล MariaDB ของคุณ

CREATE DATABASE example_database;

ตอนนี้คุณสามารถสร้างผู้ใช้ใหม่และให้สิทธิ์การใช้งานในฐานข้อมูลที่เพิ่งสร้างขึ้น คำสั่งต่อไปนี้จะกำหนดรหัสผ่านของผู้ใช้ จากตัวอย่าง เราจะใช้รหัสผ่านว่า password

GRANT ALL ON example_database.* TO 'example_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

สิ่งนี้จะทำให้ผู้ใช้ example_user มีสิทธิ์ในฐานข้อมูล example_database ในขณะเดียวกันก็ป้องกันไม่ให้ผู้ใช้รายนี้สร้างหรือแก้ไขฐานข้อมูลอื่นบนเซิร์ฟเวอร์

ล้างสิทธิ์เพื่อให้แน่ใจว่าได้รับการบันทึกและพร้อมใช้งานในเซสชันปัจจุบัน

FLUSH PRIVILEGES;

ต่อไปนี้ ให้ออกจากเชลล์ MariaDB

exit

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

mysql -u example_user -p
SHOW DATABASES;

จะให้ผลลัพธ์ดังนี้

หากต้องการออกจากคำสั่ง Maria DB shell ให้พิมพ์

exit

Was this article helpful?

Related Articles