Error number: 4090; Symbol: ER_CANT_EXECUTE_COMMAND_WITH_ASSIGNED_GTID_NEXT; SQLSTATE: HY000
Message: Can’t execute the given command when @@SESSION.GTID_NEXT == ‘UUID:NUMBER’.
错误说明
ER_CANT_EXECUTE_COMMAND_WITH_ASSIGNED_GTID_NEXT错误指示无法在被指定的GTID NEXT上执行命令。该错误可能是当系统具有多个GTID时发生的,这样系统就不知道要执行它们的哪一条,因此给出此错误通知。
常见案例
解释ER_CANT_EXECUTE_COMMAND_WITH_ASSIGNED_GTID_NEXT错误的一种案例是,当系统中存在多个GTID,并且当尝试执行命令时,就会发生这种情况。该错误还可能发生在当系统存在活跃的复制的情况下,因为当系统不知道接下来要执行的某些操作时,就会发出此通知。
解决方法
一种可能的解决方法是,使用mysqlbackup命令备份所有数据,然后尝试重置当前存储的GTID,以便更改系统的状态,并使其就绪接受新的GTID,最后再尝试重新加载原先的备份。还可以尝试使用mysqlbinlog命令把该GTID范围中的事件重放回系统中,从而完全重置系统。最后,也可以考虑使用mysqlbinlog命令来记录GTID记录,以便恢复系统至先前的状态。此外,h应使用show master status来检查主数据文件的行,再执行CHANGE MASTER TO语句。