debian

Debian MariaDB集群搭建方法有哪些

小樊
47
2025-08-14 06:25:48
栏目: 云计算

在Debian系统上搭建MariaDB集群主要有以下两种常见方案:

一、MariaDB Galera Cluster(多主同步集群)

核心特点:支持多主同步复制、自动故障转移和高可用性,适合对数据一致性要求高的场景。
步骤要点

  1. 安装MariaDB
    sudo apt-get update  
    sudo apt-get install mariadb-server galera-4  # Debian 10+已集成Galera  
    
  2. 配置集群参数
    编辑/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  
    
  3. 初始化集群
    • 在首个节点执行:
      sudo systemctl stop mariadb  
      sudo mysql_install_db --user=mysql --force  
      sudo mysqld_safe --wsrep-new-cluster &  
      
    • 在其他节点直接启动服务:
      sudo systemctl start mariadb  
      
  4. 验证集群状态
    登录任意节点,执行:
    SHOW STATUS LIKE 'wsrep_cluster_size';  # 查看节点数量  
    SHOW STATUS LIKE 'wsrep_connected';    # 检查连接状态  
    

二、MariaDB主从复制(Master-Slave)

核心特点:主节点负责写操作,从节点复制主节点数据,适合读多写少的场景。
步骤要点

  1. 主节点配置
    编辑/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;  
    
  2. 从节点配置
    编辑/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;  
    
  3. 验证复制状态
    在从节点执行:
    SHOW SLAVE STATUS\G  
    
    确保Slave_IO_RunningSlave_SQL_Running均为Yes

三、方案选择建议

注意事项

0
看了该问题的人还看了