MariaDB changing a standby to Master
1) เครื่อง MASTER เก่า
ตั้งให้สามารถอ่านได้อย่างเดียวเผื่อไม่ให้มีการเปลี่ยนแปลงข้อมูล
FLUSH TABLES WITH READ LOCK;
เก็บข้อมูล MASTER เครื่องเก่า แล้วจดไว้
SHOW MASTER STATUS;
2) ทำการแต่งตั้งเครื่อง Slave เก่า ให้เป็น MASTER
เข้าเครื่อง SLAVE แล้วใช้คำสั่งต่อไปนี้
grant replication slave on *. * to user-new-replica@'%' identified by 'pass-new-master';
flush privileges;
STOP ALL SLAVES;
RESET SLAVE ALL;
SHOW MASTER STATUS;
SELECT @@global.gtid_binlog_pos;
SET @@global.read_only=0;
3) แต่งตั้งให้เครื่อง MASTER เก่า ไปเป็น SLAVE แทน
set @@global.read_only=1;
STOP ALL SLAVES;
RESET MASTER;
RESET SLAVE ALL;
CHANGE MASTER TO MASTER_HOST="172.30.31.106",
MASTER_PORT=3306, MASTER_USER='replica', master_password='123456', MASTER_USE_GTID=current_pos,
MASTER_LOG_FILE="mysql-bin.000001", MASTER_LOG_POS=776;
START SLAVE;
UNLOCK TABLES;
4) Show Stats Slave
show slave status \G