我想检查用户是否有权以编程方式截断MySQL DB中的表。这项检查需要做,没有任何副作用。
关于我如何做到这一点的任何建议?
答案 0 :(得分:0)
TRUNCATE TABLE
需要两个表权限:Drop
和DELETE
存储在mysql.tables_priv
表中,因此您需要检查用户是否具有这两个权限。即:此查询显示哪个用户对哪个表具有截断权限:
select user,table from mysql.tables_priv
where Table_priv like '%Delete%' and Table_priv like '%Drop%'
答案 1 :(得分:0)
tables_priv
仅包含未在更高级别授予的权限。如果@hpns的答案没有出现,请尝试:
SELECT `user`, `db` FROM `mysql`.`db` WHERE `Delete_priv` AND `Drop_priv`