CREATE DATABASE db; CREATE TABLE db.t1 (a INT); CREATE USER 'user'@'%'; --echo # `\db` should be decoded as `db` ... GRANT SELECT ON `\db`.* TO 'user'@'%'; --echo # ... but it is not: SHOW GRANTS FOR 'user'@'%'; --echo # this should duplicate previous grant ... GRANT SELECT ON db.* TO 'user'@'%'; --echo # ... but it doesn't, there are 2 different privileges: SHOW GRANTS FOR 'user'@'%'; --echo # this should revoke all grants on both `db` and `\db` if any REVOKE ALL ON db.* FROM 'user'@'%'; --echo # ... but it removes only grants on `db`: SHOW GRANTS FOR 'user'@'%'; --echo # connect with username "user" connect (conn1,localhost,user,,); connection conn1; --echo # here should be an access error: SELECT * FROM db.t1; disconnect conn1; connection default; DROP USER 'user'@'%'; DROP DATABASE db;