MySQL information_schema详解 COLUMN_PRIVILEGES
时间:2022-07-23
本文章向大家介绍MySQL information_schema详解 COLUMN_PRIVILEGES,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
这个专题主要讲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 列的权限
我们可以为指定的表中的一个列赋予权限,可以一次性赋予多个列权限,如
GRANT SELECT (col1), INSERT (col1, col2) ON mydb.mytbl TO 'someuser'@'somehost';
这里我在测试环境中新加入一个权限
我们只赋予coltest用户test数据库中innodb_table两个列的权限,其中只有name列用select权限
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. 实际截图
SELECT * FROM INFORMATION_SCHEMA.COLUMN_PRIVILEGES;
这里每个列的权限显示一行
或者
SHOW grants for 'coltest'@'%';
这里所有列的权限显示在一行
3. 参考链接
https://dev.mysql.com/doc/refman/5.7/en/column-privileges-table.html
- Swift 3.0介绍
- C++判断char*的指向
- Linux基础(day18)
- Spring Boot搭建Web应用
- 5.7 vim实践
- Effective Modern C++翻译(7)-条款6:当auto推导出意外的类型时,使用显式的类型初始化语义
- 2.3 ls命令
- Effective Modern C++翻译(6)-条款5:auto比显示的类型声明要更好
- 大白话-prototype属性
- Effective Modern C++翻译(5)-条款4:了解如何观察推导出的类型
- Effective Modern C++翻译(4)-条款3:了解decltype
- 大白话-constructor
- Effective Modern C++翻译(3)-条款2:明白auto类型推导
- React Native在Android平台运行gif的解决方法
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- Linux中使用命令more,less,cat查看文件内容
- SSH的ssh-keygen命令基本用法详解
- 图文详解Ubuntu搭建Ftp服务器的方法(包成功)
- Linux中chown与chmod两个命令的区别详解
- 解决navicat连接不上linux服务器上的mysql问题
- 增强Linux和Unix服务器安全性的方法详解
- ubuntu下没有中文输入法的解决办法
- linux查看端口是否开放的方法总结
- Linux下删除乱码或特殊字符文件的方法讲解
- Ubuntu Server下无线网卡的配置详解
- Linux中修改mysql默认编码的方法步骤
- ubuntu16.04搭建nfs服务的方法
- Ubuntu16.04搭建php5.6Web服务器环境
- Linux上通过SSH挂载远程文件系统方法详解
- Linux上创建、列出、删除Docker容器方法总结