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