// DBA Guide

MariaDB DBA Guide

คู่มือสำหรับ Database Administrator — Backup/Restore, Galera Cluster, Monitoring และ Daily Maintenance

// Galera Cluster

Galera Cluster — Multi-Master HA

🌐 Galera Cluster คืออะไร?

Galera Cluster คือ synchronous multi-master replication สำหรับ MariaDB — ทุก node เป็น master สามารถ write ได้ทุก node และ data sync กันทันที รองรับ automatic node join/re-join

# /etc/mysql/mariadb.conf.d/galera.cnf [galera] wsrep_on = ON wsrep_provider = /usr/lib/galera/libgalera_smm.so wsrep_cluster_name = "MariaDB_Cluster" wsrep_cluster_address = "gcomm://node1,node2,node3" wsrep_sst_method = mariabackup wsrep_node_address = "192.168.1.10" wsrep_node_name = "node1"
// Backup

Backup & Restore

# mysqldump — Logical backup mysqldump -u root -p \ --single-transaction \ --routines --triggers \ --all-databases > full_backup.sql # mariabackup — Physical backup (เร็วกว่า) mariabackup --backup \ --target-dir=/backup/$(date +%Y%m%d) \ --user=root --password=secret # Restore mariabackup --prepare --target-dir=/backup/20240101 mariabackup --copy-back --target-dir=/backup/20240101
// Monitoring

Monitoring Queries

-- ดู current connections SHOW PROCESSLIST; SHOW STATUS LIKE "Threads_%"; -- InnoDB status SHOW ENGINE INNODB STATUS\G -- Buffer pool hit ratio SELECT (1 - ( variable_value/SUM(variable_value) )) * 100 AS hit_ratio FROM information_schema.global_status WHERE variable_name IN ( "Innodb_buffer_pool_reads", "Innodb_buffer_pool_read_requests" );