MariaDB คืออะไร
MariaDB เป็นระบบจัดการฐานข้อมูลที่เป็น Open Source (ฟรี) มักใช้เป็นอีกทางเลือกทดแทนในการจัดการ MySQL ของแพลตฟอร์มยอดนิยมอย่าง LAMP stack หรือ Linux, Apache, MySQL, PHP/Python/Perl เจ้า MariaDB ถูกพัฒนาออกมาเพื่อต้องการมาแทนที่ MySQL ในระบบเหล่านี้
Tutorial นี้จะอธิบายถึงการติดตั้ง MariaDB เวอร์ชันล่าสุดบน server ที่มี CentOS 8 โดยเมื่อเทียบกันระหว่าง MariaDB และ My SQL นั้น ตัว MariaDB จะมีแพคเกจที่ให้ใช้งานตามต้องการมากกว่าและสามารถทำงานแทนที่ MySQL ได้อย่างลงตัว
Prerequisites
สำหรับใน Tutorial นี้สิ่งที่ต้องมีคือ CentOS8 โดยต้องมีการตั้งค่า non-root sudo -enabled user จากนั้นให้ทำตาม step ต่อไปนี้ครับ เรามาเริ่มกันเลย
วิธีการติดตั้ง MariaDB โดยการใช้ dnf ด้วย command
$sudo dnf install mariadb-server
เมื่อรันคำสั่งให้ตอบ yes ไปแล้วกดปุ่ม Enter เพื่อยืนยันการติดตั้ง เมื่อการติดตั้งเสร็จ ให้เริ่มใช้งาน service ด้วย systemctl:
$sudo systemctl start mariadb
แล้วเช็คสถานะการทำงานของ Service ด้วย command
$sudo systemctl status mariadb
เอาท์พุทที่ออกมาก็จะหน้าตาประมาณนี้
ถ้าการติดตั้งสำเร็จจะมีเอาท์พุทออกมาบอกว่า active(running) และบรรทัดสุดท้ายจะมีการแสดงออกมาว่า Started MariaDB……
ทีนี้ ในขั้นตอนต่อไปเราจะทำให้ MariaDB เริ่มทำงานตั้งแต่ตอนบูท โดยใช้ command
$ sudo systemctl enable mariadb
เอาท์พุทที่ได้จะเป็นประมาณข้าง ล่างนี้
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service→/usr/lib/systemd/system/mariadb.service.
โอเคครับ ตอนนี้ MariaDB ติดตั้งสำเร็จแล้วและถูกตั้งให้เริ่มทำงานตั้งแต่เริ่มเปิดเครื่อง ขั้นตอนต่อไปเราจะเพิมความปลอดภัยให้กับ MariaDB Server กัน
เพิ่มคามปลอดภัยให้ MariaDB server
ใน MariaDB นั้นจะมี script ด้านความปลอดภัยอยู่ ที่สามารถเข้าไปเปลี่ยนการตั้งค่าได้ เพราะบางทีค่า default ที่ตั้งไว้ก็อาจจะทำให้ระบบบางตัวยังมีความปลอดภัยที่ต่ำ เช่น การ remote root login และ sample user โดยสามารถรันคำสั่ง
$
sudo mysql_secure_installation
ในตัว script มีคำอธิบายต่างๆอย่งละเอียดไว้แล้ว เพราะฉะนั้นไม่ต้องห่วงว่าจะยาก ในขั้นตอนแรกระบบจะถาม root password ก่อน ซึ่งในตอนแรกมันจะยังไม่ถูก set ไว้ให้กด ENTER ผ่านไปได้เลย จากนั้นให้เราตั้งค่า root password ของเรา โดย root ตั้วนี้นั้นจะเป็น root ของ database user ไม่ใช่ root user ของ centOS แต่อย่างใด จากนั้นกด Y แล้ว Enter เพื่ออัพเดต password จากนั้นจะมีให้กดยืนยันรับทราบคำแนะนำด้าน security จากนั้น anonymous user (User นิรนาม) จะถูกปิดการอนุญาตในการควบคุมทางไกลด้วย root login, ถอน test database และมีการ reload ตัว privilege tables เมื่อเสร็จขั้นตอนนี้แล้ว ระบบความปลอดภัยของ MariaDB ก็จะมากขึ้น ต่อไปเราต้องทำการทดสอบว่า MariaDB ใช้งานได้หรือไม่ ไปขั้นต่อไปกันเลย
ทดสอบการติดตั้ง
ทำการเชื่อมต่อด้วย mysqladmin ใช้ command ต่อไปนี้เพื่อเชื่อมต่อ MariaDB แบบ Root (-u root) และให้ MariaDB แสดง version ด้วย
$mysqladmin -u root -p version
เอาท์พุทที่ได้ก็จะประมาณนี้ครับ
Output
mysqladmin Ver 9.1 Distrib 10.3.17-MariaDB, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.3.17-MariaDB
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 6 min 5 sec
Threads: 7 Questions: 16 Slow queries: 0 Opens: 17 Flush tables: 1 Open tables: 11 Queries per second avg: 0.043
ถ้าเอาท์พุทออกมาแบนี้ก็แสดงว่าทุกอย่างเป็นอันเรียบร้อย