文档解释
Error number: MY-011470; Symbol: ER_GRP_RPL_FETCH_TRANS_SIDNO_ERROR; SQLSTATE: HY000
Message: Error fetching transaction sidno while adding to the group_gtid_executed set.
错误说明:
ER_GRP_RPL_FETCH_TRANS_SIDNO_ERROR是MySQL的一个错误,产生的代码是MY-011470, sqlstate是HY000。 此错误通常发生在使用MySQL Group Replication(GR)时,表示期望从事务上下文中获取会话ID(SIDNO)失败。
常见案例
当MySQL复制群组尝试从事务上下文中获取SIDNO(会话ID)失败时,服务器将闪回MY-011470 ER_GRP_RPL_FETCH_TRANS_SIDNO_ERROR错误。这通常由于MySQL Server缓冲区太小,以至于无法容纳该事务,或由于使用发布订阅方式复制的目标服务器已完全关闭。
解决方法:
尝试以下步骤来解决此问题:
1. 尝试增加Innodb_buffer_pool_size,使得缓冲区大小能够容纳挂起的所有事务。
2. 尝试重建Group Replication,以便在Master上重新加载Cloud SQL原始文件,而不是分发成任何发布订阅方式。
3. 检查是否有任何阻止Group Replication重新加载错误的参数,并尽量减少Group Replication所需的资源。
4. 尝试使用更新的MySQL版本,以了解更多关于可用来修复调度错误的新特性和升级选项。
5. 如果可能,最好不要将GR作为MySQL Server 的主要复制引擎,而是使用传统的复制或更新的异步复制。