@@ -68,6 +68,14 @@ def self.instances
6868 'CREATE VIEW' , 'DELETE' , 'DROP' , 'DROP ROLE' , 'EVENT' , 'EXECUTE' , 'FILE' , 'INDEX' , 'INSERT' , 'LOCK TABLES' , 'PROCESS' , 'REFERENCES' ,
6969 'RELOAD' , 'REPLICATION CLIENT' , 'REPLICATION SLAVE' , 'SELECT' , 'SHOW DATABASES' , 'SHOW VIEW' , 'SHUTDOWN' , 'SUPER' , 'TRIGGER' ,
7070 'UPDATE' ]
71+
72+ # ndbcluster has its own set for ALL
73+ mysqlcluster_v8_privileges = [ 'ALL' , 'APPLICATION_PASSWORD_ADMIN' , 'AUDIT_ABORT_EXEMPT' , 'AUDIT_ADMIN' , 'AUTHENTICATION_POLICY_ADMIN' , 'BACKUP_ADMIN' , 'BINLOG_ADMIN' , 'BINLOG_ENCRYPTION_ADMIN' ,
74+ 'CLONE_ADMIN' , 'CONNECTION_ADMIN' , 'ENCRYPTION_KEY_ADMIN' , 'FIREWALL_EXEMPT' , 'FLUSH_OPTIMIZER_COSTS' , 'FLUSH_STATUS' , 'FLUSH_TABLES' , 'FLUSH_USER_RESOURCES' ,
75+ 'GROUP_REPLICATION_ADMIN' , 'GROUP_REPLICATION_STREAM' , 'INNODB_REDO_LOG_ARCHIVE' , 'INNODB_REDO_LOG_ENABLE' , 'NDB_STORED_USER' , 'PASSWORDLESS_USER_ADMIN' , 'PERSIST_RO_VARIABLES_ADMIN' ,
76+ 'REPLICATION_APPLIER' , 'REPLICATION_SLAVE_ADMIN' , 'RESOURCE_GROUP_ADMIN' , 'RESOURCE_GROUP_USER' , 'ROLE_ADMIN' , 'SENSITIVE_VARIABLES_OBSERVER' , 'SERVICE_CONNECTION_ADMIN' ,
77+ 'SESSION_VARIABLES_ADMIN' , 'SET_USER_ID' , 'SHOW_ROUTINE' , 'SYSTEM_USER' , 'SYSTEM_VARIABLES_ADMIN' , 'TABLE_ENCRYPTION_ADMIN' , 'XA_RECOVER_ADMIN' ]
78+
7179 # The following two compare blocks are a workaround for issue #1474.
7280 mysql_pre_v8_privileges_one = [ 'ALL' , 'APPLICATION_PASSWORD_ADMIN' , 'AUDIT_ABORT_EXEMPT' , 'AUDIT_ADMIN' , 'AUTHENTICATION_POLICY_ADMIN' , 'BACKUP_ADMIN' , 'BINLOG_ADMIN' ,
7381 'BINLOG_ENCRYPTION_ADMIN' , 'CLONE_ADMIN' , 'CONNECTION_ADMIN' , 'ENCRYPTION_KEY_ADMIN' , 'FLUSH_OPTIMIZER_COSTS' , 'FLUSH_STATUS' ,
@@ -81,7 +89,9 @@ def self.instances
8189 'INNODB_REDO_LOG_ENABLE' , 'PASSWORDLESS_USER_ADMIN' , 'PERSIST_RO_VARIABLES_ADMIN' , 'REPLICATION_APPLIER' , 'REPLICATION_SLAVE_ADMIN' ,
8290 'RESOURCE_GROUP_ADMIN' , 'RESOURCE_GROUP_USER' , 'ROLE_ADMIN' , 'SENSITIVE_VARIABLES_OBSERVER' , 'SERVICE_CONNECTION_ADMIN' ,
8391 'SESSION_VARIABLES_ADMIN' , 'SET_USER_ID' , 'SHOW_ROUTINE' , 'SYSTEM_USER' , 'SYSTEM_VARIABLES_ADMIN' , 'TABLE_ENCRYPTION_ADMIN' , 'XA_RECOVER_ADMIN' ]
84- if ( newer_than ( 'mysql' => '8.0.0' ) && sorted_privileges == mysql_v8_privileges ) || sorted_privileges == mysql_pre_v8_privileges_one || sorted_privileges == mysql_pre_v8_privileges_two
92+
93+
94+ if ( newer_than ( 'mysql' => '8.0.0' ) && ( sorted_privileges == mysql_v8_privileges || sorted_privileges == mysqlcluster_v8_privileges ) ) || sorted_privileges == mysql_pre_v8_privileges_one || sorted_privileges == mysql_pre_v8_privileges_two
8595 sorted_privileges = [ 'ALL' ]
8696 end
8797
0 commit comments