6. COLUMN_PRIVILEGES

6. COLUMN_PRIVILEGES

COLUMN_PRIVILEGES提供有关列权限的信息。它从mysql.columns_priv系统表中获取其值 。

COLUMN_PRIVILEGES包含以下列:

-GRANTEE:授予权限的帐户的名称,格式为“user_name”@“host_name”。
- TABLE_CATALOG:包含该列的表所属的目录的名称。这个值总是如此def。
- TABLE_SCHEMA:包含该列的表所属的schema(数据库)名称。
- TABLE_NAME:包含该列的表的名称。
- COLUMN_NAME:列的名称
- PRIVILEGE_TYPE:授予的特权。 该值可以是可以在列级别授予的任何权限; 请参见第“GRANT语法”。 每行列出一个权限,因此被授权者拥有每列一行权限。
在SHOW FULL COLUMNS的输出中,权限全部在一列\和小写中,例如,select,insert,update,references。 在COLUMN_PRIVILEGES中,每行有一个特权,大写。

mysql> SHOW FULL COLUMNS from test.account;
+---------+----------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| Field   | Type     | Collation          | Null | Key | Default | Extra | Privileges                      | Comment |
+---------+----------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| id      | int(11)  | NULL               | YES  | MUL | NULL    |       | select,insert,update,references |         |
| name    | char(30) | utf8mb4_general_ci | YES  |     | NULL    |       | select,insert,update,references |         |
| balance | int(11)  | NULL               | YES  |     | NULL    |       | select,insert,update,references |         |
+---------+----------+--------------------+------+-----+---------+-------+---------------------------------+---------+
3 rows in set (0.00 sec)
  • IS_GRANTABLE:如果用户具有GRANT OPTION权限,则为YES,否则为NO。 输出不会将GRANT OPTION列为具有PRIVILEGE_TYPE =’GRANT OPTION’的单独行。

注意

  • COLUMN_PRIVILEGES表是一个非标准的INFORMATION_SCHEMA表。

以下陈述不相同:

SELECT ... FROM INFORMATION_SCHEMA.COLUMN_PRIVILEGES

SHOW GRANTS ...
posted @ 2018-08-17 17:31  DB-Engineer  阅读(130)  评论(0编辑  收藏  举报