Error number: MY-013369; Symbol: ER_WARN_PARTIAL_REVOKE_AND_DB_GRANT; SQLSTATE: HY000
Message: For user ‘%s’@’%s’, one or more privileges granted through mysql.db for database ‘%s’, conflict with partial revoke. It could mean ‘mysql’ schema is corrupted.
错误说明
MY-013369:ER_WARN_PARTIAL_REVOKE_AND_DB_GRANT错误是由MySQL报出的。当mysql试图将特定的授权从用户移动到数据库级别时,如果部分撤销操作成功,而其余部分无法撤销,则会报告此err。
常见案例
ER_WARN_PARTIAL_REVOKE_AND_DB_GRANT错误是当授权从用户到数据库级别时,如果部分撤销操作成功,而其余部分无法撤销,则会报告此err。这可能是由于某些用户对该特定类型的特权进行了重写,从而可能存在多个用户拥有特定特权的授予,而不能完全撤销的情况。
解决方法
一种可以解决ER_WARN_PARTIAL_REVOKE_AND_DB_GRANT错误的方法是先检查用户是否有重复授权,然后使用DROP USER命令撤销用户授权,如果需要在数据库级别上授权,就可以使用GRANT命令实现授权。此外,可以使用REVOKE命令撤销用户特权,以清理任何多余的授权,从而确保数据库可以按照期望工作,并确保用户不能访问不应该具有的特权。