Ubuntu MariaDB Galera 集群搭建流程
一 架构与准备
二 安装与基础安全
sudo apt update && sudo apt install -y mariadb-server mariadb-clientsudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8sudo add-apt-repository 'deb [arch=amd64] http://ftp.utexas.edu/mariadb/repo/10.1/ubuntu $(lsb_release -sc) main'sudo apt update && sudo apt install -y mariadb-server mariadb-clientsudo mysql_secure_installation(设置 root 密码、移除匿名用户、禁止远程 root 登录、删除测试库等)。三 集群配置
[mysqld]
bind-address = 0.0.0.0
binlog_format = ROW
default_storage_engine = InnoDB
innodb_autoinc_lock_mode = 2
innodb_flush_log_at_trx_commit = 2
wsrep_on = ON
[galera]
wsrep_provider = /usr/lib/galera/libgalera_smm.so
wsrep_cluster_name = "galera_cluster"
wsrep_cluster_address = "gcomm://192.168.100.11,192.168.100.12,192.168.100.13"
wsrep_node_address = "192.168.100.11" # 本节点 IP
wsrep_node_name = "node1" # 本节点名称
wsrep_sst_method = xtrabackup-v2 # 或 rsync(注意 rsync 对业务有短暂锁表)
wsrep_sst_auth = "sst_user:sst_password"
wsrep_provider 路径在不同发行包/架构可能为 /usr/lib/galera/libgalera_smm.so 或 /usr/lib64/galera/libgalera_smm.so。rsync 配置简单但会在传输阶段影响业务写入。四 初始化与加入集群
sudo systemctl stop mariadbsudo galera_new_clustersudo systemctl start mariadbsudo mysql -u root -p -e "CREATE USER 'sst_user'@'%' IDENTIFIED BY 'sst_password'; GRANT ALL PRIVILEGES ON *.* TO 'sst_user'@'%'; FLUSH PRIVILEGES;"mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size';"五 验证与运维要点
SHOW STATUS LIKE 'wsrep_cluster_size';SHOW STATUS LIKE 'wsrep_ready';(值为 ON 表示可写)SHOW STATUS LIKE 'wsrep_incoming_addresses';SHOW STATUS LIKE 'wsrep_local_state_comment';(通常为 Synced)wsrep_cluster_address;节点变更顺序建议先摘除、变更、再重新加入。