在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,实现高可用性。根据实际需求,你可能还需要进行更多的配置和优化。