create database db; create role auto_create; grant all on db.* to auto_create; grant auto_create to foo@localhost; grant auto_create to bar@localhost identified by 'baz'; set role 'auto_create'; use db; create table t1 (i int); set role auto_create; use db; insert into t1 values (1); drop user foo@localhost, bar@localhost; set sql_mode = 'no_auto_create_user'; grant auto_create to foo@localhost; ERROR 28000: Can't find any matching row in the user table grant auto_create to bar@localhost identified by 'baz'; select user, host from mysql.user where user = 'bar'; user host bar localhost set sql_mode = ''; set role auto_create; use db; drop table t1; create user foo@localhost; set sql_mode = ''; grant auto_create to bar2@localhost; ERROR 28000: Access denied for user 'foo'@'localhost' grant auto_create to foo2@localhost; ERROR 28000: Access denied for user 'foo'@'localhost' set sql_mode = 'no_auto_create_user'; grant auto_create to bar2@localhost; ERROR 28000: Access denied for user 'foo'@'localhost' grant auto_create to foo2@localhost identified by 'pass'; ERROR 28000: Access denied for user 'foo'@'localhost' grant auto_create to foo@localhost; set sql_mode = ''; grant auto_create to bar@localhost; ERROR 28000: Access denied for user 'foo'@'localhost' grant auto_create to bar2@localhost; ERROR 28000: Access denied for user 'foo'@'localhost' grant auto_create to foo2@localhost identified by 'pass'; ERROR 28000: Access denied for user 'foo'@'localhost' set sql_mode = 'no_auto_create_user'; grant auto_create to bar2@localhost; ERROR 28000: Access denied for user 'foo'@'localhost' grant auto_create to foo2@localhost identified by 'pass'; ERROR 28000: Access denied for user 'foo'@'localhost' grant auto_create to foo@localhost with admin option; set sql_mode = ''; grant auto_create to bar@localhost; grant auto_create to bar2@localhost; ERROR 42000: You are not allowed to create a user with GRANT grant auto_create to foo2@localhost identified by 'pass'; ERROR 42000: You are not allowed to create a user with GRANT set sql_mode = 'no_auto_create_user'; grant auto_create to bar2@localhost; ERROR 28000: Can't find any matching row in the user table grant auto_create to foo2@localhost identified by 'pass'; ERROR 42000: You are not allowed to create a user with GRANT drop user foo@localhost; drop user bar@localhost; drop role auto_create; drop database db;