I am faced with this problem when using gtid in MySQL replication:

When @@SESSION.GTID_NEXT is set to a GTID, you must explicitly set it to a different value after a COMMIT or ROLLBACK. Please check GTID_NEXT variable manual page for detailed explanation. Current @@SESSION.GTID_NEXT is 'xxx'"

It makes my slave SQL thread is impossible to run.

I am stuck with it. What is the cause of the problem ?

  • There are some my databases include tables using MyISAM storage engine and someone include tables using InnoDB Commented Aug 15, 2014 at 4:08
  • I have temporary resolved using follow statements: stop slave; set gtid_next='automatic'; start slave; It resolved the problem but the problem is repeated when the slave continue to execute next gtid get from master. I have read manual about gtid_next in dev.mysql.com/doc/refman/5.6/en/replication-options-gtids.html I am using MySQL 5.6.20. I guest the cause is some statements is disallowed I hope one solution is better. I cannot run these statements manually. Commented Aug 15, 2014 at 7:31
  • You need to do that as per dev.mysql.com/doc/refman/5.7/en/replication-gtids-failover.html under Section - Injecting empty transactions . If you are adding a server to the replication chain.
    – Mannoj
    Commented Jun 21, 2017 at 3:22

1 Answer 1


I've been having this issue on a new install of 5.6.26. I found a bug report on this and it suggests that the fix is available on 5.6.27 or 5.7.9.


I've upgraded to 5.6.27 and just watching to see if it happens again.

Hope this helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.