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