Section 1: Lab: เริ่มต้น MariaDB 12.3 LTS
- สถาปัตยกรรม Client/Server และความต่างระหว่าง MariaDB กับ MySQL
- รุ่น LTS กับ Rolling Release และรอบการสนับสนุนของ MariaDB 12.3
- ติดตั้งบน Ubuntu Server จาก Repository ของ MariaDB และรันด้วย Docker
- เริ่ม หยุด และตรวจสถานะ Service ด้วย systemctl
- Lab: ติดตั้ง ตั้งค่าเริ่มต้นอย่างปลอดภัย และเชื่อมต่อด้วย mariadb client
Section 2: Configuration และ Storage Engine
- โครงสร้างไฟล์ตั้งค่าและลำดับการอ่าน Option File
- สถาปัตยกรรม InnoDB: Buffer Pool, Redo Log และ Undo Log
- Storage Engine อื่น เช่น Aria และ ColumnStore ใช้เมื่อใด
- Character Set utf8mb4 และ Collation สำหรับข้อมูลภาษาไทย
- Lab: ปรับไฟล์ตั้งค่าและตรวจผลด้วยตัวแปรระบบ
Section 3: Lab: ผู้ใช้ Role และสิทธิ์
- สร้าง แก้ไข และลบบัญชีผู้ใช้ พร้อมกำหนด Host ที่เข้าได้
- GRANT และ REVOKE ตามหลัก Least Privilege
- Role สำหรับจัดกลุ่มสิทธิ์ของทีม
- Authentication Plugin เช่น unix_socket และ ed25519
- Lab: วางสิทธิ์สำหรับแอป ทีมรายงาน และผู้ดูแลระบบ
Section 4: เชื่อมต่อผ่านเครือข่ายอย่างปลอดภัย
- bind-address, Port และการเปิด Firewall บน Linux
- เปิดการเชื่อมต่อแบบ TLS และบังคับใช้กับผู้ใช้ที่กำหนด
- เชื่อมต่อจากแอปผ่าน Connector ของภาษาต่าง ๆ, JDBC และ ODBC
- จำกัดจำนวน Connection และตั้ง Timeout
- Lab: เชื่อมต่อจากเครื่องอื่นด้วย TLS และทดสอบสิทธิ์
Section 5: Transaction, Concurrency และ Locking
- ACID, Isolation Level และ MVCC ของ InnoDB
- Row Lock, Gap Lock และ Metadata Lock
- ตรวจจับ Deadlock และอ่าน SHOW ENGINE INNODB STATUS
- หา Session ที่ค้างและจัดการอย่างปลอดภัย
- Lab: จำลอง Lock ชนกันแล้ววิเคราะห์หาสาเหตุ