检查用户是否有权以编程方式截断表

时间:2015-03-02 04:49:29

标签: mysql

我想检查用户是否有权以编程方式截断MySQL DB中的表。这项检查需要做,没有任何副作用。

关于我如何做到这一点的任何建议?

2 个答案:

答案 0 :(得分:0)

TRUNCATE TABLE需要两个表权限:DropDELETE存储在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`