MySQL 集群是一种通过多台服务器共同提供数据库服务的技术,旨在提高数据的可用性、可靠性和性能。常见的 MySQL 集群方案包括 MySQL NDB Cluster 和 MySQL Group Replication。
以下是基于 CentOS 搭建 MySQL Group Replication 集群的简要步骤:
sudo yum install mysql-server
编辑 MySQL 配置文件 /etc/my.cnf
,添加以下内容:
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=ROW
gtid-mode=ON
enforce-gtid-consistency=true
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
sudo systemctl start mysqld
sudo systemctl enable mysqld
登录 MySQL:
mysql -u root -p
创建用户并授权:
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
在每个节点上编辑 MySQL 配置文件 /etc/my.cnf
,添加以下内容:
[mysqld]
server-id=2
log-bin=mysql-bin
binlog-format=ROW
gtid-mode=ON
enforce-gtid-consistency=true
group_replication_group_name='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa'
group_replication_start_on_boot=ON
group_replication_local_address='192.168.1.2:33061'
group_replication_group_seeds='192.168.1.1:33061,192.168.1.2:33061'
在每个节点上启动 MySQL:
sudo systemctl start mysqld
sudo systemctl enable mysqld
在第一个节点上执行以下命令:
mysql -u root -p
SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
在第二个节点上执行以下命令:
mysql -u root -p
START GROUP_REPLICATION;
server-id
不同。group_replication_group_name
相同。group_replication_group_seeds
包含所有节点的地址。binlog-format
设置为 ROW
。gtid-mode
和 enforce-gtid-consistency
设置正确。innodb_buffer_pool_size
、max_connections
等。通过以上步骤,你可以在 CentOS 上成功搭建一个 MySQL 集群。如果在搭建过程中遇到问题,可以参考上述常见问题及解决方法进行排查。
领取专属 10元无门槛券
手把手带您无忧上云