Support for GTID in mysqlbinlog


The mysqlbinlog client program needs to be updated to support GTID.

Here is a suggested list of things to be done:

  • The --start-position and --stop-position options should be able to take
    GTID positions; or maybe there should be new --start-gtid and --stop-gtid
    options. Like --start-gtid=0-1-100,1-2-200,2-1-1000.

  • A GTID position means the point just after that GTID. So starting from
    GTID 0-1-100 and stopping at GTID 0-1-200, the first GTID output will
    probably be 0-1-101 and the last one 0-1-200. Note that if some domain is
    not specified in the position, it means to start from the begining,
    respectively stop immediately in that domain.

  • Starting and stopping GTID should work both with local files, and with
    --read-from-remote-server. For the latter, there are a couple of extra
    things that need doing in the master-slave protocol, see
    get_master_version_and_clock() in sql/

  • At the end of the dump, put these statements, to reduce the risk of those session variables incorrectly spilling into subsequent statements run in the same session:

  • Probably some more things will come up during the work, but this looks like a
    reasonable start.


Kristian Nielsen


Kristian Nielsen

Time tracking


Fix versions