在Debian系统上搭建MariaDB集群主要有以下两种常见方案:
核心特点:支持多主同步复制、自动故障转移和高可用性,适合对数据一致性要求高的场景。
步骤要点:
sudo apt-get update
sudo apt-get install mariadb-server galera-4 # Debian 10+已集成Galera
/etc/mysql/conf.d/galera.cnf,添加以下内容(需在所有节点执行,IP替换为实际节点IP):[mysqld]
wsrep_on=ON
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://节点1IP,节点2IP,节点3IP"
wsrep_node_address="当前节点IP"
wsrep_node_name="节点名称"
binlog_format=row
default_storage_engine=InnoDB
sudo systemctl stop mariadb
sudo mysql_install_db --user=mysql --force
sudo mysqld_safe --wsrep-new-cluster &
sudo systemctl start mariadb
SHOW STATUS LIKE 'wsrep_cluster_size'; # 查看节点数量
SHOW STATUS LIKE 'wsrep_connected'; # 检查连接状态
核心特点:主节点负责写操作,从节点复制主节点数据,适合读多写少的场景。
步骤要点:
/etc/mysql/my.cnf:[mysqld]
server-id=1
log-bin=/var/log/mysql/mysql-bin.log
binlog_format=ROW
创建复制用户并授权:CREATE USER 'repl_user'@'%' IDENTIFIED BY '密码';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;
/etc/mysql/my.cnf:[mysqld]
server-id=2
relay-log=/var/log/mysql/mysql-relay-bin.log
read_only=1
执行复制命令:CHANGE MASTER TO
MASTER_HOST='主节点IP',
MASTER_USER='repl_user',
MASTER_PASSWORD='密码',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=123; # 替换为主节点的File和Position
START SLAVE;
SHOW SLAVE STATUS\G
确保Slave_IO_Running和Slave_SQL_Running均为Yes。注意事项: