在Ubuntu上搭建MariaDB集群是一個復雜的過程,需要仔細規劃和執行。以下是使用MariaDB Galera Cluster在Ubuntu上設置高可用性MariaDB集群的步驟:
在所有節點上執行以下命令來安裝MariaDB:
sudo apt update
sudo apt install mariadb-server mariadb-client
在每個節點上進行配置。編輯 /etc/mysql/mariadb.conf.d/50-server.cnf
文件:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
在 [mysqld]
部分添加以下配置:
[mysqld]
bind-address = 0.0.0.0
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://<node1_ip>,<node2_ip>,<node3_ip>
wsrep_node_address=<node_ip>
wsrep_node_name=<node_name>
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=your_sst_user:your_sst_password
將 <node1_ip>,<node2_ip>,<node3_ip>
替換為所有節點的IP地址,<node_ip>
替換為當前節點的IP地址,<node_name>
替換為當前節點的名稱,your_sst_user
和 your_sst_password
替換為你的同步用戶名和密碼。
重啟MariaDB服務:
sudo systemctl restart mariadb
在第一個節點上初始化集群:
sudo mysql -u root -p
在MySQL shell中執行:
CREATE USER 'sst_user'@'%' IDENTIFIED BY 'your_sst_password';
GRANT ALL PRIVILEGES ON *.* TO 'sst_user'@'%';
FLUSH PRIVILEGES;
EXIT;
然后,在第一個節點上運行:
sudo mysql -u root -p -e "SET GLOBAL wsrep_cluster_size=3;"
在其他節點上運行以下命令來加入集群:
sudo mysql -u root -p -e "SET GLOBAL wsrep_cluster_address='gcomm://<node1_ip>,<node2_ip>,<node3_ip>';"
在任意節點上運行以下命令來驗證集群狀態:
sudo mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size';"
如果輸出顯示 wsrep_cluster_size=3
,則表示集群已成功初始化。
通過以上步驟,你可以在Ubuntu上成功設置一個MariaDB Galera Cluster,實現高可用性和數據冗余。