首页主机资讯Ubuntu MariaDB集群搭建方法有哪些

Ubuntu MariaDB集群搭建方法有哪些

时间2025-10-14 19:00:03发布访客分类主机资讯浏览966
导读:Ubuntu环境下搭建MariaDB集群的常见方法 1. MariaDB Galera Cluster(多主复制集群) Galera Cluster是MariaDB原生支持的多主同步复制集群方案,提供高可用性、数据一致性及线性扩展能力,适用...

Ubuntu环境下搭建MariaDB集群的常见方法

1. MariaDB Galera Cluster(多主复制集群)

Galera Cluster是MariaDB原生支持的多主同步复制集群方案,提供高可用性、数据一致性及线性扩展能力,适用于需要强一致性的场景。
核心配置步骤

  • 准备工作:准备至少3台运行Ubuntu的服务器(建议奇数台,如3/5台),确保节点间网络互通(开放3306端口),并安装相同版本的MariaDB(推荐10.1及以上)。
  • 安装MariaDB:在所有节点执行sudo apt update & & sudo apt install mariadb-server mariadb-client安装MariaDB。
  • 配置集群参数:在每个节点的/etc/mysql/conf.d/galera.cnf(或/etc/mysql/mariadb.conf.d/99-cluster.cnf)中添加以下内容(替换为实际IP):
    [mysqld]
    bind-address = 0.0.0.0
    default-storage-engine = InnoDB
    innodb_autoinc_lock_mode = 2
    wsrep_on = ON
    wsrep_provider = /usr/lib/galera/libgalera_smm.so
    wsrep_cluster_name = "galera_cluster"  # 集群名称(需一致)
    wsrep_cluster_address = "gcomm://node1_ip,node2_ip,node3_ip"  # 所有节点IP
    wsrep_node_address = "当前节点IP"  # 如192.168.1.111
    wsrep_node_name = "node1"  # 节点名称(唯一标识)
    wsrep_sst_method = xtrabackup-v2  # 数据同步方法(推荐xtrabackup)
    wsrep_sst_auth = sst_user:your_password  # SST用户及密码(需提前创建)
    
  • 初始化集群:在第一个节点执行galera_new_cluster启动集群;其他节点执行sudo systemctl restart mariadb加入集群。
  • 验证状态:在任意节点执行mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'; ",若wsrep_cluster_size等于节点数量,则集群搭建成功。

2. MariaDB主从复制(Master-Slave Replication)

主从复制是MariaDB经典的单主多从异步复制方案,适用于读扩展(将读请求分发到从节点),提升读取性能。
核心配置步骤

  • 准备工作:准备至少2台Ubuntu服务器(1主1从),安装相同版本的MariaDB。
  • 配置主服务器(Master)
    • 编辑/etc/mysql/mariadb.conf.d/50-server.cnf,添加:
      [mysqld]
      server-id = 1  # 主节点ID(唯一)
      log_bin = /var/log/mysql/mysql-bin.log  # 启用二进制日志
      binlog_do_db = your_database  # 指定复制的数据库(可选)
      
    • 重启MariaDB:sudo systemctl restart mariadb
    • 创建复制用户:CREATE USER 'replicator'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%'; FLUSH PRIVILEGES;
    • 获取二进制日志位置:SHOW MASTER STATUS; (记录FilePosition,如mysql-bin.000001123)。
  • 配置从服务器(Slave)
    • 编辑/etc/mysql/mariadb.conf.d/50-server.cnf,添加:
      [mysqld]
      server-id = 2  # 从节点ID(需与主节点不同)
      relay_log = /var/log/mysql/mysql-relay-bin.log  # 启用中继日志
      log_bin = /var/log/mysql/mysql-bin.log
      replicate_do_db = your_database  # 指定复制的数据库(可选)
      
    • 重启MariaDB:sudo systemctl restart mariadb
    • 配置复制:CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replicator', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=123; START SLAVE;
  • 验证复制:在从节点执行SHOW SLAVE STATUS\G,若Slave_IO_RunningSlave_SQL_Running均为Yes,则复制正常;在主节点插入数据,从节点可查询到同步的数据。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu MariaDB集群搭建方法有哪些
本文地址: https://pptw.com/jishu/726149.html
Ubuntu MariaDB更新升级注意事项有哪些 Ubuntu MariaDB查询优化技巧有哪些

游客 回复需填写必要信息