从一个mysql实验来看performance_schema/information_schema授权

概述

今天主要分享下关于performance_schema/information_schema授权问题,最近在对performance_schema授权时发现了一个比较有趣的现象,下面一起来看看吧~

从一个mysql实验来看performance_schema/information_schema授权_第1张图片

 


1、查看授权

这里可以看到root@'%'没有with grant option权限

从一个mysql实验来看performance_schema/information_schema授权_第2张图片

 

mysql日志如下:

从一个mysql实验来看performance_schema/information_schema授权_第3张图片

 

 


2、查看mysql.user表

mysql> select host,user,Grant_priv,authentication_string,password_expired from mysql.user;

在授权with grant option选项后可以发现root@'%'已经有grant_priv权限

从一个mysql实验来看performance_schema/information_schema授权_第4张图片

 

 


3、更新升级数据库信息

测试一下是不是因为数据库版本升级问题,可以发现并不是这方面引起

mysql_upgrade -u root -p

从一个mysql实验来看performance_schema/information_schema授权_第5张图片

 

 


5、重新授权

测试结果如下:可以发现授权成功

mysql> grant all privileges on information_schema.* to jk@'%';mysql> grant select on information_schema.* to jk@'%';mysql> grant select on performance_schema.* to jk@'%';

从一个mysql实验来看performance_schema/information_schema授权

 

 


总结

information_schema数据库类似与“数据字典”,提供了访问数据库元数据的方式,即数据的数据,比如数据库名或表名,列类型,访问权限(更加细化的访问方式),并随时改变。用于查看信息以及系统决策时作为重要的信息提供者。

information_schema所有用户默认就有权限,相当于oracle的user_*视图,目测不支持(也无需)显示授权,包括select。

已经为大家精心准备了大数据的系统学习资料,从Linux-Hadoop-spark-......,需要的小伙伴可以点击

performance_schema默认等同于普通db,唯一的区别在于不支持all权限,需要显示授予select/drop等权限(要truncate必须有drop权限)。

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

你可能感兴趣的:(大数据,人工智能,互联网)