MySQL MGR(MySQL Group Replication)是MySQL的一种高可用性解决方案,它提供了一种弹性、高可用、容错的复制拓扑,以下是关于MGR控制平面服务安装的详细步骤:
1、服务器配置:
准备三台服务器,每台服务器上安装MySQL 5.7或更高版本。
确保所有服务器的网络互通,并且关闭防火墙和SELinux。
修改各服务器的主机名,以便于识别和管理。
2、安装必要的软件包:
yum -y install make gcc-c++ cmake bison-devel ncurses-devel readline-devel libaio-devel perl libaio wget lrzsz vim bzip2 xz
3、下载并安装MySQL:
从MySQL官方网站下载对应版本的MySQL安装包,并解压到指定目录。
创建MySQL用户和组,并设置相关目录权限。
1、初始化MySQL数据目录:
mysqld --initialize --user=mysql --basedir=/path/to/mysql --datadir=/path/to/data
2、编辑my.cnf配置文件:
根据需要配置以下参数(以节点1为例):
[mysqld] server-id = 17218228149 log-bin = mysql-bin master_info_repository = TABLE binlog_format = ROW expire_logs_days = 7 sync_binlog = 1 gtid_mode = on enforce_gtid_consistency = true binlog_rows_query_log_events = on binlog_checksum = NONE transaction_write_set_extraction = XXHASH64 loose-group_replication_group_name = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa01" loose-group_replication_start_on_boot = OFF loose-group_replication_bootstrap_group = OFF loose-group_replication_local_address = "192.168.1.149:33581" loose-group_replication_group_seeds = "192.168.1.147:33581,192.168.1.148:33581,192.168.1.149:33581" loose-group_replication_ip_whitelist = "192.168.1.147,192.168.1.148,192.168.1.149"
注意:loose-group_replication_ip_whitelist
参数非常重要,它定义了允许加入集群的节点IP地址。
3、重启MySQL服务:
systemctl restart mysqld
在所有节点上执行以下命令以安装MGR插件:
INSTALL PLUGIN group_replication SONAME 'group_replication.so';
在所有节点上执行以下命令:
CREATE USER repl@'%' IDENTIFIED BY 'repl'; GRANT REPLICATION SLAVE ON *.* TO repl@'%'; RESET MASTER;
在所有节点上执行以下命令:
CHANGE MASTER TO MASTER_USER='repl', MASTER_PASSWORD='repl' FOR CHANNEL 'group_replication_recovery';
1、在主节点上启动MGR:
SET GLOBAL group_replication_bootstrap_group=ON; START group_replication; SET GLOBAL group_replication_bootstrap_group=OFF;
2、在辅助节点上启动MGR:
START group_replication;
使用以下命令查看各节点状态:
SELECT * FROM performance_schema.replication_group_members;
Q1: MGR支持哪些存储引擎?
A1: MGR只支持InnoDB存储引擎,因为它需要事务的支持来保证数据的一致性。
Q2: MGR最多支持多少个节点?
A2: MGR官方测试确定的安全边界是最多支持9个节点,超过这个数量可能会导致性能下降或稳定性问题。
MGR作为MySQL的高可用性解决方案,为数据库集群提供了强大的弹性和容错能力,在部署MGR时需要注意一些关键配置和限制条件,以确保集群的稳定性和性能,通过仔细规划和正确配置,MGR可以帮助企业构建更加可靠和高效的数据库环境。