Privilege Restriction Using Partial Revokes Revoking a global privilege removes the privilege, including any restrictions on it. For example, to remove the  DELETE  restriction (at the cost of removing all  DELETE  access): mysql>  SHOW GRANTS FOR u1; +---------------------------------------------------------+ | Grants for u1@% | +---------------------------------------------------------+ | GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO ‘u1‘@‘%‘ | | REVOKE DELETE ON ‘mysql‘.* FROM ‘u1‘@‘%‘ | +---------------------------------------------------------+ mysql>  REVOKE DELETE ON *.* FROM u1; mysql>  SHOW GRANTS FOR u1; +-------------------------------------------------+ | Grants for u1@% | +-------------------------------------------------+ | GRANT SELECT, INSERT, UPDATE ON *.* TO ‘u1‘@‘%‘ | +-------------------------------------------------+ If an account has a privilege at both the global and schema levels, you must revoke it at the schema level twice to effect a partial revoke. Suppose that  u1  has these privileges, where  INSERT  is held both globally and on the  world  schema: mysql>  CREATE USER u1; mysql>  GRANT SELECT, INSERT ON *.* TO u1; mysql>  GRANT INSERT ON world.* TO u1; mysql>  SHOW GRANTS FOR u1; +-----------------------------------------+ | Grants for u1@% | +-----------------------------------------+ | GRANT SELECT, INSERT ON *.* TO ‘u1‘@‘%‘ | | GRANT INSERT ON ‘world‘.* TO ‘u1‘@‘%‘ | +-----------------------------------------+ Revoking  INSERT  on  world  revokes the schema-level privilege ( SHOW GRANTS  no longer displays the schema-level  GRANT  statement): mysql>  REVOKE INSERT ON world.* FROM u1; mysql>  SHOW GRANTS FOR u1; +-----------------------------------------+ | Grants for u1@% | +-----------------------------------------+ | GRANT SELECT, INSERT ON *.* TO ‘u1‘@‘%‘ | +-----------------------------------------+ Revoking  INSERT  on  world  again performs a partial revoke of the global privilege ( SHOW GRANTS  now includes a schema-level  REVOKE  statement): mysql>  REVOKE INSERT ON world.* FROM u1; mysql>  SHOW GRANTS FOR u1; +------------------------------------------+ | Grants for u1@% | +------------------------------------------+ | GRANT SELECT, INSERT ON *.* TO ‘u1‘@‘%‘ | | REVOKE INSERT ON ‘world‘.* FROM ‘u1‘@‘%‘ | +------------------------------------------+ Partial Revokes Versus Explicit Schema Grants To provide access to accounts for some schemas but not others, partial revokes provide an alternative to the approach of explicitly granting schema-level access without granting global privileges. The two approaches have different advantages and disadvantages. 1241