在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
。注意事項: