MySQL Amoeba 是一个基于 MySQL Group Replication 的高可用方案,它提供了故障切换和负载均衡功能
确保在所有参与节点上安装了相同版本的 MySQL 服务器。可以从 MySQL 官方网站下载并安装。
在每个节点上,编辑 /etc/my.cnf
文件,添加以下内容:
[mysqld]
server_id=<unique_server_id>
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_slave_updates=ON
log_bin=binlog
binlog_format=ROW
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="<your_group_name>"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "127.0.0.1:<local_port>"
loose-group_replication_group_seeds= "<seed_list>"
loose-group_replication_bootstrap_group=off
将<unique_server_id> 替换为每个节点的唯一 ID,
<your_group_name> 替换为您选择的组名称,
<local_port> 替换为每个节点的本地端口号,
<seed_list>` 替换为其他节点的 IP 地址和端口号列表。
在每个节点上,运行以下命令以初始化 MySQL 数据目录:
mysql_install_db --user=mysql
在每个节点上,运行以下命令以启动 MySQL 服务器:
systemctl start mysqld
在每个节点上,运行以下命令以设置 root 密码:
mysql_secure_installation
在每个节点上,使用以下命令创建一个用于复制的用户:
mysql -u root -p
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%' IDENTIFIED BY 'repl_password';
FLUSH PRIVILEGES;
exit
在每个节点上,运行以下命令以启动 Group Replication:
mysql -u root -p
SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
现在,您已经成功配置了 MySQL Amoeba 高可用方案。可以通过关闭主节点来测试故障切换功能。剩余节点将自动选举新的主节点。
注意:这些步骤仅适用于基本的高可用配置。根据您的需求,您可能需要调整配置参数以获得更好的性能或更高的安全性。请参阅 MySQL 官方文档以获取更多详细信息。