除少数数据库外,所有数据库上的Mysql授权提供程序
我有一个dev-MySQL服务器,上面有很多数据库,其中大多数都在不断地变化 我需要向特定用户授予对所有数据库的完全访问权限,并且只对其中两个数据库进行读取访问—这些数据库是从另一台服务器复制的 我不想显式地授予每个数据库的完全权限,因为列表会不断变化,维护起来会很痛苦 我尝试了“全部授予”,然后只授予对数据库的使用权,但对所有内容优先授予“全部”除少数数据库外,所有数据库上的Mysql授权提供程序,mysql,Mysql,我有一个dev-MySQL服务器,上面有很多数据库,其中大多数都在不断地变化 我需要向特定用户授予对所有数据库的完全访问权限,并且只对其中两个数据库进行读取访问—这些数据库是从另一台服务器复制的 我不想显式地授予每个数据库的完全权限,因为列表会不断变化,维护起来会很痛苦 我尝试了“全部授予”,然后只授予对数据库的使用权,但对所有内容优先授予“全部” 这里有实现目标的好方法吗?您可以运行下面的SQL语句,它将生成SQL语句来执行授权,然后只运行它们。在本例中,db1和db2是要从用户中排除的DB,
这里有实现目标的好方法吗?您可以运行下面的SQL语句,它将生成SQL语句来执行授权,然后只运行它们。在本例中,db1和db2是要从用户中排除的DB,而某个_用户就是您为其进行授权的用户
SELECT concat(concat('grant all on ',SCHEMA_NAME), ' to some_user') AS `Database`
FROM INFORMATION_SCHEMA.SCHEMATA
where schema_name not in ('db1','db2')
我不知道如何在不授予每个数据库的priv的情况下实现这一点,但至少通过这种方式,您可以自动生成必要的命令。我在另一篇文章中看到了此解决方案,但这不太适合。。。数据库每天都会被创建和删除,所以我需要经常运行它以保持所有内容都是最新的。我想我将不得不求助于拥有全局写入权限。。。