玖叶教程网

前端编程开发入门

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

概述

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


1、查看授权

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

mysql日志如下:



2、查看mysql.user表

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

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



3、更新升级数据库信息

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

?mysql_upgrade -u root -p



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@'%';



总结

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

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

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

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


发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言