MariaDB Replication gtid (Master-Slave) ไม่มี database บน master

Replication แบบไม่มี databases บน master

1) Install Mariadb ทั้ง 2 เครื่อง

https://downloads.mariadb.org/mariadb/repositories/#mirror=23Media

2) เครื่อง Master

แก้ไขไฟล์ /etc/mysql/mariadb.conf.d/50-server.cnf ตามนี้

server-id เป็นตัวบอกว่าเครื่องไหนเป็น master โดยเครื่องที่เลขต่ำสุดจะเป็น master

bind-address default จะเป็น 127.0.0.1 ให้เปลี่ยนเป็น ip ของเครื่อง

bind-address = server-ip
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log

systemctl restart mariadb

เสร็จแล้วให้เพิ่ม user สำหรับ replication

mysql -u root -p
grant replication slave on *. * to replica-user@'%' identified by 'password';
flush privileges;

SHOW MASTER STATUS\G << จดข้อมูลที่ได้ไว้

3) เครื่อง Slave

แก้ไขไฟล์ /etc/mysql/mariadb.conf.d/50-server.cnf ตามนี้

bind-address = server-ip
server-id = 2
log_bin = /var/log/mysql/mysql-bin.log

systemctl restart mariadb

คอนฟิก replication บนเครื่อง slave

master_log_file='ดูจากเครื่อง master ที่ให้จดไว้',
master_log_pos=ดูจากเครื่อง master ที่ให้จดไว้,

mysql -u root -p

change master to
master_host='172.30.42.125',
master_user='replica',
master_password='teuRFGP6EF5k',
master_log_file='mysql-bin.000001',
master_log_pos=2635,
master_connect_retry=10;

start slave;
show slave status\G

4) add gtid บน slave

stop slave;
change master to master_use_gtid = slave_pos;
start slave;
show slave status\G

test replication โดย สร้าง databases บน master แล้วลอง show databases บน slave