MySQL为具有默认权限的用户创建数据库/SCHEMA的权限

gab6jxml  于 2023-05-16  发布在  Mysql
关注(0)|答案(1)|浏览(230)

我正在调查MySQL数据库中的用户权限。

CREATE USER 'reader' IDENTIFIED BY 'reader';

根据MySQL文档,用户被创建为具有最小特权-SELECT。
他们如何能够使用CREATE DATABASE/SCHEMA语句?我在官方Docker镜像中使用了一个MySQL示例,我没有发现任何关于操作系统差异的提及。
如果只是文档过时,我如何创建一个只能对数据库对象(主要是information_schemasys模式)具有读访问权限的用户?

uplii1fm

uplii1fm1#

最低权限是USAGE,而不是SELECT。使用MYSQL_{USER,PASSWORD,DATABASE}将创建一个拥有数据库上所有权限的用户。
任何人都可以读取信息模式,但是可见的数据库对象也只有用户可以访问的对象。
访问sys架构需要GRANT SELECT ON sys.* TO user。由于sys模式是performance_schema上的视图,因此还需要GRANT SELECT ON performance_schema.* TO user

相关问题