溫馨提示×

Ubuntu MariaDB集群搭建方法有哪些

小樊
35
2025-10-14 07:37:20
欄目: 云計算

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.000001、123)。
  • 配置從服務器(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,則復制正常;在主節點插入數據,從節點可查詢到同步的數據。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女