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可进一步提升可用性。