在Ubuntu上部署MariaDB高可用方案,可以采用多種方法,其中比較常見的是使用MariaDB Galera Cluster。以下是使用MariaDB Galera Cluster在Ubuntu上部署高可用方案的步驟:
sudo apt update
sudo apt upgrade -y
在所有節點上安裝MariaDB:
sudo apt install mariadb-server mariadb-client -y
編輯MariaDB配置文件 /etc/mysql/mariadb.conf.d/50-server.cnf
(或 /etc/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=<current_node_ip>
wsrep_node_name=<node_name>
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=your_sst_user:your_sst_password
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
<node1_ip>
, <node2_ip>
, <node3_ip>
:所有節點的IP地址。<current_node_ip>
:當前節點的IP地址。<node_name>
:節點名稱,例如 node1
。sudo systemctl start mariadb
sudo systemctl enable mariadb
在第一個節點上啟動Galera集群:
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;
然后,在其他節點上啟動MariaDB并加入集群:
sudo systemctl start mariadb
在任意一個節點上登錄MySQL并檢查集群狀態:
SHOW STATUS LIKE 'wsrep_cluster_size';
如果返回值大于1,說明集群已經成功啟動并運行。
確保所有節點之間的通信端口(默認3306)是開放的??梢允褂?code>ufw或iptables
進行配置。
定期檢查集群狀態,監控日志文件 /var/log/mysql/error.log
,并確保所有節點的時間同步。
通過以上步驟,你可以在Ubuntu上成功部署MariaDB Galera Cluster,實現高可用性。