千金良方:MySQL性能优化金字塔法则
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

12.3 tables_priv

tables_priv表提供查询表级别的权限信息。与db表类似,但粒度更细,tables_priv表中记录的权限信息代表用户是否可以使用这些权限访问某个表中的所有字段。

下面是该表中存储的信息内容。

mysql> select * from tables_priv\G
*************************** 1. row ***************************
      Host: localhost
        Db: mysql
      User: mysql.session
 Table_name: user
    Grantor: boot@connecting host
  Timestamp: 0000-00-00 00:00:00
 Table_priv: Select
Column_priv:
1 row in set(0.00 sec)

表字段含义如下。

● Host、Db、User、Table_name:官方称为范围字段,可以理解为这几个字段构成了允许访问的客户端范围,以及客户端可以访问的表对象资源范围。

● Table_priv和Column_priv:官方称为权限字段,对应于表级别权限和字段级别权限。需要注意的是,这两个权限字段与user表和db表不同,它们是set类型的,记录着表级别和字段级别的权限集合,而不是对应于具体的某个权限。Table_priv对应于表级别的Select, Insert, Update, Delete, Create, Drop, Grant, References, Index, Alter, Create View, Show view, Trigger权限,Column_priv对应于字段级别的Select, Insert, Update, References权限。

● Grantor:代表该表中记录的用户权限是被谁授予的,即该表中的用户权限被授予时的current_user函数返回的用户值(account形式)。

● Timestamp:代表授予Grantor表示的用户权限时的时间戳。