Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-4989

Support for GTID in mysqlbinlog

    XMLWordPrintable

    Details

      Description

      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/slave.cc.
      • 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:

           SET session.server_id = @@global.server_id,
               session.gtid_domain_id=@@global.gtid_domain_id;

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

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              knielsen Kristian Nielsen
            • Votes:
              14 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

              • Created:
                Updated: