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

RBR between old master and new slave breaks on direct updates to system tables

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Won't Fix
    • Affects Version/s: 5.5.36, 10.0.8
    • Fix Version/s: N/A
    • Component/s: None
    • Labels:
      None

      Description

      Updates of the kind

      insert into mysql.tables_priv (host,db,user,table_name,grantor,table_priv) VALUES ('localhost','test','user','t1','root@localhost','Select');
      

      break replication, if it's set up between an older master (having short User field and such) to a newer slave, with increased field length:

      Last_Error: Column 2 of table 'mysql.tables_priv' cannot be converted from type 'char(16)' to type 'char(80)'
      

      Such updates shouldn't normally be done, but they are not forbidden and in some cases are useful, e.g. for bulk updates.
      Besides, they can come if the data is restored from mysqldump backup/

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              serg Sergei Golubchik added a comment -

              True, and there's nothing we can do about it. A workaround is to specify

              SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';
              
              Show
              serg Sergei Golubchik added a comment - True, and there's nothing we can do about it. A workaround is to specify SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';

                People

                • Assignee:
                  serg Sergei Golubchik
                  Reporter:
                  elenst Elena Stepanova
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: