group_replication_single_primary_mode=ON
log_error_verbosity=3
group_replication_bootstrap_group=OFF
group_replication_transaction_size_limit=
group_replication_communication_max_message_size=10M
group_replication_flow_control_mode=OFF                     #官方版本的流控机制不太合理,其实可以考虑关闭
group_replication_exit_state_action=READ_ONLY
group_replication_member_expel_timeout=5                    #如果网络环境不好,可以适当调高
其他建议:
只使用InnoDB表;
每个表都必须要有主键;
节点数采用奇数;
保证网络可靠性,低延迟环境,不要跨城部署(一般建议网络延迟低于1ms);
使用单主模式;
binlog_format=row。

 

GreatSQL-8.0.22-v20210410

https://gitee.com/GreatSQL/GreatSQL
https://gitee.com/GreatSQL/GreatSQL.git
https://gitee.com/GreatSQL/GreatSQL/attach_files/667255/download/GreatSQL-8.0.22-v20210410.tar.xz
https://gitee.com/GreatSQL/GreatSQL/repository/archive/v20210410?format=zip
https://gitee.com/GreatSQL/GreatSQL/repository/archive/v20210410?format=tar.gz

参数slave_checkpoint_period的默认值(单位:ms),由300修改成20。
该参数可用以平衡从库回放速度跟mgr before强一致性读性能。
默认值为300ms,可能导致从从库强一致性读至少300ms的延迟。此前改成2ms,解决了300ms问题延迟,但回放速度下降了一半,很容易导致主从严重不同步,因此调整成20ms。

 

关于GreatSQL
  GreatSQL是源于Percona Server的分支版本,除了Percona Server已有的稳定可靠、高效、管理更方便等优势外,特别是进一步提升了MGR(MySQL Group Replication)的性能及可靠性,以及众多bug修复。
GreatSQL可以作为MySQL或Percona Server的可选替代方案,用于线上生产环境。
GreatSQL完全免费并兼容MySQL或Percona Server。


版本特性
GreatSQL版本进一步提升了MGR的性能及可靠性,并修复了众多bug。主要有以下几点特性:
提升大事务并发性能及稳定性
优化MGR队列garbage collect机制、改进流控算法,以及减少每次发送数据量,避免性能抖动
解决了AFTER模式下,存在节点加入集群时容易出错的问题
在AFTER模式下,强一致性采用多数派原则,以适应网络分区的场景
当MGR节点崩溃时,能更快发现节点异常状态,有效减少切主和异常节点的等待时间
优化MGR DEBUG日志输出格式
修复了可能导致数据丢失、性能抖动等多个缺陷/bug问题


注意事项
运行GreatSQL需要依赖jemalloc库,因此请先先安装上
[root@greatdb]# yum -y install jemalloc jemalloc-devel
也可以把自行安装的lib库so文件路径加到系统配置文件中,例如:
[root@greatdb]# cat /etc/ld.so.conf
/usr/local/lib64/
而后执行下面的操作加载libjemalloc库,并确认是否已存在
[root@greatdb]# ldconfig
[root@greatdb]# ldconfig -p | grep libjemalloc
       libjemalloc.so.1 (libc6,x86-64) => /usr/local/lib64/libjemalloc.so.1
       libjemalloc.so (libc6,x86-64) => /usr/local/lib64/libjemalloc.so
就可以正常启动GreatSQL服务。