在CentOS上部署MySQL集群,通常可以使用MySQL Cluster或者MariaDB Galera Cluster。以下是两种常见的集群部署方式:
MySQL Cluster是一个实时的开源事务性数据库,它提供了分布式和共享无盘架构。以下是基本的部署步骤:
准备工作:
安装MySQL Cluster软件:
sudo yum install mysql-cluster-community-server
配置管理节点(Management Node):
/etc/my.cnf或/etc/mysql/my.cnf文件,添加以下配置:[mysqld]
ndbcluster
ndb-connectstring=管理节点IP
sudo systemctl start mysqld
配置数据节点(Data Nodes):
/etc/my.cnf或/etc/mysql/my.cnf文件,添加以下配置:[mysqld]
ndbcluster
ndb-connectstring=管理节点IP
sudo systemctl start mysqld
配置SQL节点(SQL Nodes):
/etc/my.cnf或/etc/mysql/my.cnf文件,添加以下配置:[mysqld]
ndbcluster
ndb-connectstring=管理节点IP
sudo systemctl start mysqld
验证集群状态:
ndb_mgm工具检查集群状态:ndb_mgm -e show
MariaDB Galera Cluster是一个基于Galera库的多主复制解决方案,支持自动节点加入和冲突解决。以下是基本的部署步骤:
准备工作:
安装MariaDB Galera Cluster软件:
sudo yum install mariadb-server mariadb-galera-server
配置Galera Cluster:
/etc/my.cnf或/etc/mysql/my.cnf文件,添加以下配置:[mysqld]
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://节点1IP,节点2IP,节点3IP
wsrep_node_address=节点IP
wsrep_node_name=节点名称
wsrep_sst_method=xtrabackup-v2
sudo systemctl restart mariadb
初始化集群:
mysql> CREATE DATABASE test;
mysql> USE test;
mysql> INSERT INTO test VALUES ('Hello World!');
加入其他节点:
sudo systemctl stop mariadb
sudo galera_new_cluster
sudo systemctl start mariadb
验证集群状态:
SHOW STATUS LIKE 'wsrep_cluster_size';命令检查集群状态。以上是两种常见的MySQL集群部署方式,具体选择哪种方式取决于你的需求和环境。MySQL Cluster更适合需要高可用性和实时性的场景,而MariaDB Galera Cluster则更适合需要简单易用和自动化的场景。