information_schema.column_privileges 学习

mysql 的授权是分层次的 实例级 | 库级 | 表级 | 列级 而这些授权信息被保存在了mysql.user | mysql.db | mysql.tables_priv | mysql.column_priv 等表中

而information_schema.column_privileges 表中的信息来自于mysql.column_priv 表

1、information_schema.column_privileges 表中常用的列:

  1、grantee                :用户(对列就相应权限的用户)

  2、table_catalog             :表类型,好像只有一个值 def

  3、table_schema              :表所在的数据库名

  4、table_name              :表名

  5、column_anme             :列名

  6、privilege_type             :权限类型

  7、is_grantable             :是否可以把权限授予别人

2、例子:

查看一条对列的授权在information_schema.column_privileges 表中对应怎样的数据

2.1 授权:

GRANT SELECT (x) ON `tempdb`.`t` TO ‘guest‘@‘127.0.0.1‘

2.2 查看information_schema.column_privileges 表

select * from information_schema.column_privileges;

+---------------------+---------------+--------------+------------+-------------+----------------+--------------+
| GRANTEE             | TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | PRIVILEGE_TYPE | IS_GRANTABLE |
+---------------------+---------------+--------------+------------+-------------+----------------+--------------+
| ‘guest‘@‘127.0.0.1‘ | def           | tempdb       | t          | x           | SELECT         | NO           |
+---------------------+---------------+--------------+------------+-------------+----------------+--------------+
时间: 2024-10-17 04:17:10

information_schema.column_privileges 学习的相关文章

information_schema.collation_character_set_applicability 学习

字符集和排序规则之间是不可以随便搭配的.如果你想知道一个字符集它所搭配的排序规则有哪些?那就可以从information_schema.collation_character_set_applicability 这个表来看 1.information_schema.collation_character_set_applicability 常用列说明: 1.character_set_name :字符集名 2.collation_name  :排序规则名 2.例子: 测试字符集和与之匹配的排序规

information_schema.collations 学习

information_schema.collations 表中的每一行对应一个排序规则 1.information_schema.collations 表中学用列: 1.id :排序规则的ID 2.is_default :是否是字符集的默认排序规则 3.collation_name :排序规则名 4.character_set_name  :这个排序规则所对应的字符集名字 5.is_compiled :是不已经被编译进MySQL来了 2.例子: 查看实例的排序规则信息 select id, i

information_schema.columns 学习

每一个表中的每一列都会在information_schema.columns表中对应一行 1.informaiton_schema.columns 常用列: 1.table_catalog :不管是table | view 这个列的值总是def 2.table_schema  :表 | 视图所在的数据库名 3.table_name  :表名 | 视图名 4.column_name  :列名 5.column_default   :列的默认值 6.is_nullable  :是否可以取空值 7.d

information_schema.triggers 学习

mysql实例中的每一个trigger 对应到information_schema.triggers 中有一行 1.information_schema.triggers 表的常用列: 1.trigger_catalog :永远是def 2.trigger_schema :trigger 所在的数据库名 3.event_manipulation :触发trigger 的事件类型可以是 insert | update | delete 4.event_object_schema  :trigger

information_schema.partitions 学习

1.partitions 表中的常用列说明: 1.table_schema:表所在的数据库名 2.table_name:表名 3.partition_method:表分区采用的分区方法 4.partition_expression:分区键 5.partions_name:分区名 6.table_rows:分区中所包涵的数据行数 7.data_free:分区中还未使用的空间 2.例子: 查询实例中的分区表.分区方法,分区字段 select concat(table_schema,'.',table

information_schema.referential_constraints 学习

information_schema.referential_constraints 表用于查看外键约束 1.information_schema.referential_constraints表的常用列: 1.constraint_schema :约束(外键)所在的库名 2.constraint_name :约束名(外键名) 3.unique_constraint_schema :被引用约束所在库名 4.unique_constraint_name :被引用约束名 2.例子: 1.定义一对有外

information_schema.profiling学习

information_schema.profiling可以用来分析每一条SQL在它执行的各个阶段的用时,注意这个表是session 级的,也就是说如果session1 开启了它:session2没有开启 这个情况下session2 去查询只会返回一个空表 1.set @@ssesion.profiling=1 可以开启information_schema.profiling相关监测 2.information_schema.profiling 表的常用列 1.query_id :查询id 用于

information_schema.optimizer_trace学习

information_schema.optimizer_trace 用于追踪优化器的优化过程:通常来说这张表中是没有数据的,要想开户追踪要把 @@session.optimizer_trace='enabled=on,one_line=on' information_schema.optimizer_trace表的常用列: 1.query :查询语句 2.trace :查询的追踪信息 例子: 1.没有打开@@session.optmizer_trace='enabled=on,one_line

information_schema.character_sets 学习

information_schema.character_sets 表用于查看字符集的详细信息 1.character_sets 常用列说明: 1.character_set_name: 字符集名 2.default_collate_name:  默认排序规则 3.description:  描述信息 4.maxlen:  单个字符最大占用字节数 2.例子: 查看与字符集相关的信息 select character_set_name,-- 字符集名 default_collate_name, -