在Ubuntu上配置MariaDB的高可用性,可以采用多種方法,其中最常見的是使用MariaDB Galera Cluster。以下是配置MariaDB Galera Cluster的基本步驟:
首先,確保你的Ubuntu系統上已經安裝了MariaDB。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt install mariadb-server mariadb-client
編輯MariaDB的配置文件 /etc/mysql/mariadb.conf.d/50-server.cnf(或 /etc/mysql/my.cnf),添加以下配置:
[mysqld]
# 啟用Galera插件
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=<sst_user>:<sst_password>
wsrep_on=<yes>
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
將 <node1_ip>, <node2_ip>, <node3_ip> 替換為集群中所有節點的IP地址,<node_ip> 替換為當前節點的IP地址,<node_name> 替換為節點名稱。
在每個節點上安裝Galera Cluster:
sudo apt install galera-3
在每個節點上啟動MariaDB服務:
sudo systemctl start mariadb
在任意一個節點上,使用以下命令檢查集群狀態:
mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size';"
如果返回的結果顯示 wsrep_cluster_size 的值大于1,說明集群已經成功啟動并且所有節點都已經加入。
確保防火墻允許MariaDB的通信端口(默認是3306):
sudo ufw allow 3306/tcp
定期監控集群的狀態,并進行必要的維護操作,例如備份和升級。
通過以上步驟,你可以在Ubuntu上配置一個基本的MariaDB Galera Cluster,實現高可用性。根據實際需求,你可能還需要進行更多的配置和優化。