前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL information_schema详解 COLUMN_PRIVILEGES

MySQL information_schema详解 COLUMN_PRIVILEGES

作者头像
bsbforever
发布于 2020-08-18 01:52:29
发布于 2020-08-18 01:52:29
57700
代码可运行
举报
运行总次数:0
代码可运行

这个专题主要讲information_schema数据库下的一些表

如无特殊说明数据库版本为MySQL 5.7.26

1. COLUMNS

该表显示一些用户具有的列权限信息,其来源为mysql.columns_priv系统表

有如下栏位

  • GRANTEE 权限授予的用户的名称,格式为'user_name'@'host_name'
  • TABLE_CATALOG 包含列的表所属的目录的名称,该值总是def
  • TABLE_SCHEMA 包含列的表所属的数据库的名称
  • TABLE_NAME 包含列的表名
  • COLUMN_NAME 列名
  • PRIVILEGE_TYPE 被授予的权限名称,取值可以为任何可以在列级别上的权限
  • IS_GRANTABLE 如果为YES,代表该用户拥有GRANT OPTION权限

接下来对上面的一些栏位做进一步的介绍

1.1 列的权限

我们可以为指定的表中的一个列赋予权限,可以一次性赋予多个列权限,如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GRANT SELECT (col1), INSERT (col1, col2) ON mydb.mytbl TO 'someuser'@'somehost';

这里我在测试环境中新加入一个权限

我们只赋予coltest用户test数据库中innodb_table两个列的权限,其中只有name列用select权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create database coltest;
grant all on coltest.* to 'coltest'@'%' identified by '123456' ;
flush privileges;
grant select (name),insert(name,age) on test.innodb_table to coltest@'%' ;

通过上面实验我们可以看出MySQL可以针对列做出权限管控,我们无法用coltest用户对innodb_table 除name列外其他列进行操作


2. 实际截图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT * FROM INFORMATION_SCHEMA.COLUMN_PRIVILEGES;

这里每个列的权限显示一行

或者

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SHOW grants for 'coltest'@'%';

这里所有列的权限显示在一行

3. 参考链接

https://dev.mysql.com/doc/refman/5.7/en/column-privileges-table.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宅必备 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
mysql中information_schema库下的COLUMN_PRIVILEGES表详解
`information_schema.COLUMN_PRIVILEGES` 表是 MySQL 中的一个元数据表,用于存储用户对特定表列的权限信息。这个表包含了关于哪些用户拥有对哪些表列的哪些权限的详细信息。下面是这个表的详细解释:
jack.yang
2025/04/05
870
Server 层混杂信息字典表 | 全方位认识 information_schema(下)
该表提供查询关于表级别权限信息,该表中的内容来自mysql.tables_priv
老叶茶馆
2020/11/26
3260
MySQL information_schema详解 KEY_COLUMN_USAGE
https://dev.mysql.com/doc/refman/5.7/en/key-column-usage-table.html
bsbforever
2020/08/18
1.7K0
mysql中information_schema库下的COLUMNS_EXTENSIONS表详解
`information_schema.COLUMNS_EXTENSIONS` 表是 MySQL 8.0.22 及以上版本中引入的一个元数据表,用于存储与表列相关的扩展属性。这些属性主要用于存储引擎级别的信息,例如 InnoDB 存储引擎的列属性。下面是对该表的详细解释:
jack.yang
2025/04/05
850
MySQL information_schema详解 COLUMNS
如果一个栏位在多个索引中,COLUMN_KEY只会显示其中优先级最高的一个,顺序为PRI, UNI, MUL
bsbforever
2020/08/18
4K0
Server 层混杂信息字典表 | 全方位认识 information_schema(中)
该表提供查询关于语句性能分析的信息。其记录内容对应于SHOW PROFILES和SHOW PROFILE语句产生的信息
老叶茶馆
2020/11/26
4120
MySQL用户和权限管理(一)
第一部分:主要是MYSQL数据库的权限体系以及MYSQL访问控制的两个阶段;我们都知道,MYSQL初始化完成之后,自带四个默认的数据库;下面的内容主要涉及到的是mysql库中相关的内容;
SEian.G
2021/03/03
3.2K0
mysql中information_schema库下的KEY_COLUMN_USAGE表详解
`information_schema.KEY_COLUMN_USAGE` 表是 MySQL 中的一个元数据表,用于存储关于表的键列信息,包括主键、唯一键以及外键的详细信息。这个表包含了关于哪些列参与了哪些类型的键约束的信息。下面是这个表的详细解释:
jack.yang
2025/04/05
970
MySQL information_schema详解 FILES
它提供InnoDB数据文件的信息,如果是NDB,它提供了有关存储了NDB集群磁盘数据表的文件的信息。
bsbforever
2020/08/18
1.4K0
MySQL管理——授权系统
MySQL的授权系统的一个重要功能是为数据库分配具有权限的用户。当用户通过认证后,MySQL将通过下记问题验证用户的权限:
MySQLSE
2023/08/31
3990
MySQL管理——授权系统
information_schema和performance_schema的一点知识
information_schema和performance_schema的一点知识
AsiaYe
2020/02/17
2.4K0
入门MySQL——用户与权限
前面几篇文章为大家介绍了各种SQL语法的使用,本篇文章将主要介绍MySQL用户及权限相关知识,如果你不是DBA的话可能平时用的不多,但是了解下也是好处多多。
MySQL技术
2019/09/08
2K0
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
在MySQL中,创建和管理用户是数据库管理员的重要任务之一。下面是关于创建和管理用户的详细说明和具体示例:
红目香薰
2023/12/01
2900
mysql的information_schema下的COLUMNS表详解
`information_schema.COLUMNS` 表是 MySQL 中的一个元数据表,用于存储数据库中所有表的列信息。这个表对于查询和管理数据库结构非常有用,可以帮助您了解每个表中的列定义、数据类型、约束等细节。
jack.yang
2025/04/05
860
MySQL information_schema详解 EVENTS
该表提供有关event相关的信息,event在MySQL中为任务计划,即按照一定的频率执行一段SQL
bsbforever
2020/08/18
2K0
MySQL内置数据库information_schema 详解
不知道大家有没有注意到,当你安装好MySQL数据库环境后,然后使用客户端连接后,会发现数据库列表不是空的,会有四个数据库(information_schema、mysql、sysperformance_schema),你有有没有对这些数据库有些好奇呢,今天先给大家聊聊MySQL内置的information_schema 数据库相关的知识,希望对大家深入了解MySQL能够提供一些帮助!
小明互联网技术分享社区
2023/12/07
5.1K1
MySQL内置数据库information_schema 详解
MySQL用户管理
说明:用户的信息保存在mysql数据库中的user表中,验证用户是否创建成功如下:
星哥玩云
2022/08/18
2K0
MySQL权限管理实战!
不清楚各位同学对数据库用户权限管理是否了解,作为一名 DBA ,用户权限管理是绕不开的一项工作内容。特别是生产库,数据库用户权限更应该规范管理。本篇文章将会介绍下 MySQL 用户权限管理相关内容。
MySQL技术
2021/04/29
2K0
MySQL权限管理实战!
mysql的information_schema库下COLUMN_STATISTICS表详解
`information_schema.COLUMN_STATISTICS` 表是 MySQL 8.0.16 及更高版本中引入的一个元数据表,用于存储关于表列的统计信息,特别是直方图数据。这些统计信息有助于优化器更准确地估计查询的成本,从而选择更高效的执行计划。
jack.yang
2025/04/05
600
介绍一下 information_schema 库
今天给大家介绍一款 Mysql 中附属的数据库,就是 information_schema 数据库,为什么说是附属呢?是因为这个数据库是在安装 Mysql 的同时就会安装到你电脑上。这个数据库里面主要存储了关于数据库里面的各种库、表、列、注释等信息。这个库对我们有什么用呢?有很大用处,尤其是当一个公司没有数据字典的时候,你就可以通过查看这个数据库,然后自己去梳理字典。
张俊红
2019/06/24
1.9K0
相关推荐
mysql中information_schema库下的COLUMN_PRIVILEGES表详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验