Linux MariaDB實現高可用架構可采用以下方案,具體步驟及要點如下:
mariadb-galera-server。/etc/my.cnf,添加以下內容:[mysqld]
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://<node1_ip>,<node2_ip>,<node3_ip>
wsrep_node_address=<當前節點IP>
wsrep_node_name=<節點名稱>
wsrep_sst_method=xtrabackup-v2 # 數據同步方式
binlog_format=ROW
wsrep_cluster_address加入集群。SHOW STATUS LIKE 'wsrep_cluster_size';確認集群節點數。CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
CHANGE MASTER TO
MASTER_HOST='<主庫IP>',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='<binlog文件>',
MASTER_LOG_POS=<位置>;
START SLAVE;
SHOW SLAVE STATUS\G檢查Slave_IO_Running和Slave_SQL_Running是否為Yes。sudo apt/yum install keepalived。vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
virtual_ipaddress {
192.168.1.100
}
}
sudo apt/yum install maxscale。以上方案可根據業務需求選擇,Galera Cluster適合強一致性場景,主從復制適合讀多寫少場景,結合Keepalived或MaxScale可進一步提升可用性。