mysql - 如何查看整个表的所有这些用户及其 "Grants"?

标签 mysql sql privileges sql-grant

如果我有一个名为 example 的表。我向 subject1、subject2、subject3 授予 SELECT、INSERT 等权限。那么,作为表的所有者,我如何才能查看我授予示例的每个人及其权限?

最佳答案

您可以对 mysql 数据库中的 tables_priv 表运行查询:

SELECT p.User
     , p.Host
     , p.Table_priv
     , p.Grantor
  FROM mysql.tables_priv p
 WHERE p.Db         = 'mydatabase'
   AND p.Table_name = 'example'
 ORDER by 1,2,3

如果授予了整个数据库的权限,则并非每个人都拥有该表的权限,例如

GRANT SELECT ON mydatabase.* TO subject1@'%'  

这些权限将位于 mysql 数据库的 db 表中。授予用户对所有数据库的全局权限将位于 user 表中。

关于mysql - 如何查看整个表的所有这些用户及其 "Grants"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23019200/

相关文章:

ORACLE - 已授予创建过程但无法创建过程

php - 组合两个 MySQL 查询?

sql - 使用 MySQL,如何在另一个表中不存在该值的情况下插入到一个表中?

sql - View 包含不精确或不确定的转换?

mysql - 我的列表中的哪些条目在我的表中没有条目?

php - 您的配置文件包含 Easy php 中的设置(没有密码的 root)错误

MySQL IN BETWEEN 无条件

php - 如何实现记住我功能?

php - 在 Mysql 数据库中插入日期值

azure - 尽管是订阅所有者,但无法使用 terraform 创建 azura 资源