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

              Elkin Andrei Elkin
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.