一、描述
MGR 8.0.17 三节点集群,集群异常重启后某个节点异常,在做clone的过程遇到的问题。报错信息如下:

mysql> CLONE INSTANCE FROM 'donor_clone_user'@'196.55.7.36':3311 IDENTIFIED BY 'password';
ERROR 3869 (HY000): Clone system configuration: innodb_data_file_path: Recipient file count: 1 is less than Donor file count.

二、问题分析

看懂英文,不要上来就度娘,克隆的系统配置:innodb_data_file_path:接受者文件数:1少于贡献者的文件数。接下来查看数据库参数:

--接受者
mysql> show variables like 'innodb_data_file_path';
+-----------------------+------------------------+
| Variable_name         | Value                  |
+-----------------------+------------------------+
| innodb_data_file_path | ibdata1:12M:autoextend |
+-----------------------+------------------------+
1 row in set (0.01 sec)

--贡献者
mysql> show variables like 'innodb_data_File_path';
+-----------------------+------------------------------------+
| Variable_name         | Value                              |
+-----------------------+------------------------------------+
| innodb_data_file_path | ibdata1:12M;ibdata2:50M:autoextend |
+-----------------------+------------------------------------+
1 row in set (0.01 sec)

确实文件数不一样,那么我们就需要把接受者的参数调整一下,然后重启数据库。

三、解决方法
修改参数,重启数据库,重新克隆

[root@roidb3 log]# grep "innodb_data" /zxdata/my3311/etc/my.cnf
innodb_data_home_dir               = /zxdata/my3311/data
innodb_data_file_path              = ibdata1:12M;ibdata2:50M:autoextend
[root@roidb3 log]# 

mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[root@roidb3 log]# 
[root@roidb3 log]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/zxdata/my3311/etc/my.cnf &
[1] 3911
[root@roidb3 log]# 2020-01-12T03:14:30.338253Z mysqld_safe Logging to '/zxdata/my3311/log/error.log'.
2020-01-12T03:14:30.374790Z mysqld_safe Starting mysqld daemon with databases from /zxdata/my3311/data

[root@roidb3 log]#

--克隆完成,重启组复制
mysql> start group_replication;
Query OK, 0 rows affected (5.07 sec)