MariaDB在Linux上的集群部署方案以Galera Cluster为主,以下是核心步骤及要点:
mariadb-server
和galera
包。sudo yum install -y mariadb-server galera
mariadb-server
(含Galera依赖)。sudo apt-get install -y mariadb-server
修改配置文件(以节点1为例):
编辑/etc/my.cnf.d/server.cnf
或/etc/mysql/mariadb.conf.d/60-galera.cnf
,添加以下内容:
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_name="my_cluster"
wsrep_cluster_address="gcomm://node1_ip,node2_ip,node3_ip"
wsrep_node_name="node1"
wsrep_node_address="node1_ip"
wsrep_sst_method=xtrabackup-v2 # 或mariabackup(推荐)
wsrep_sst_auth="sst_user:sst_password" # 需提前创建用户
binlog_format=ROW
default_storage_engine=InnoDB
其他节点需修改wsrep_node_name
和wsrep_node_address
为对应值。
创建SST用户(在所有节点执行):
CREATE USER 'sst_user'@'localhost' IDENTIFIED BY 'sst_password';
GRANT RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sst_user'@'localhost';
FLUSH PRIVILEGES;
sudo systemctl stop mariadb
sudo galera_new_cluster # 仅在首个节点执行
sudo systemctl start mariadb
sudo systemctl restart mariadb
SHOW STATUS LIKE 'wsrep_cluster_size';
正常应显示集群节点数(如3个节点)。wsrep
指标(如wsrep_cluster_size
、wsrep_ready
)。innodb_buffer_pool_size
。参考来源: