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

Wrong binlog entries for a multi-user CREATE USER statement

    XMLWordPrintable

    Details

      Description

      I create a test file with this content:

      --source include/not_embedded.inc
      --source include/have_binlog_format_statement.inc
       
      if (!$SIMPLE_PASSWORD_CHECK_SO) {
        skip No SIMPLE_PASSWORD_CHECK plugin;
      }
       
      INSTALL SONAME "simple_password_check";
      SELECT PLUGIN_NAME FROM INFORMATION_SCHEMA.PLUGINS
      WHERE PLUGIN_NAME='simple_password_check';
       
       
      RESET MASTER; # get rid of previous tests binlog
       
      --error ER_NOT_VALID_PASSWORD
      CREATE USER
        user1@localhost IDENTIFIED BY 'BsG9#9.cem#!85',
        user2@localhost IDENTIFIED BY 'bsg9#d.cem#!85';
       
      DROP USER user1@localhost;
       
      --let $binlog_file = LAST
      source include/show_binlog_events.inc;
       
      UNINSTALL PLUGIN simple_password_check;
      

      and run the test. It prints this output:

      INSTALL SONAME "simple_password_check";
      SELECT PLUGIN_NAME FROM INFORMATION_SCHEMA.PLUGINS
      WHERE PLUGIN_NAME='simple_password_check';
      PLUGIN_NAME
      simple_password_check
      RESET MASTER;
      CREATE USER
      user1@localhost IDENTIFIED BY 'BsG9#9.cem#!85',
      user2@localhost IDENTIFIED BY 'bsg9#d.cem#!85';
      ERROR HY000: Your password does not satisfy the current policy requirements
      DROP USER user1@localhost;
      include/show_binlog_events.inc
      Log_name	Pos	Event_type	Server_id	End_log_pos	Info
      master-bin.000001	#	Gtid	#	#	GTID #-#-#
      master-bin.000001	#	Query	#	#	use `test`; CREATE USER
      user1@localhost IDENTIFIED BY 'BsG9#9.cem#!85',
      user2@localhost IDENTIFIED BY 'bsg9#d.cem#!85'
      master-bin.000001	#	Gtid	#	#	GTID #-#-#
      master-bin.000001	#	Query	#	#	use `test`; DROP USER user1@localhost
      UNINSTALL PLUGIN simple_password_check;
      plugins.binlog-AAA                       [ pass ]     62
      

      Note, user2 was not actually created because of the password policy, however it got printed into the binary log. This can cause problems with replication.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              sachin.setiya.007 Sachin Setiya
              Reporter:
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated: