MySQL对以特定名字开头的数据库或表进行授权

对以"db_1"开头的数据库进行授权

grant all privileges on `db_1%`.* to dp_admin identified by 'password';
grant select on `db_1%`.* to dp_admin identified by 'password';

 

假设我们要授权用户'user'@'localhost'对所有以'mydb_'开头的数据库表都有SELECT权限

复制代码
-- 假设我们要授权用户'user'@'localhost'对所有以'mydb_'开头的数据库表都有SELECT权限
-- 首先,我们需要获取所有以'mydb_'开头的表名
SELECT CONCAT('GRANT SELECT ON `', table_schema, '`.`', table_name, '` TO ''user''@''localhost'';') AS grant_statement
FROM information_schema.tables
WHERE table_schema LIKE 'mydb_%'
  AND table_type = 'BASE TABLE';
 
-- 然后,我们可以将生成的GRANT语句执行,为用户授权
-- 注意:执行上述查询得到的语句需要具有足够权限来执行这些语句,通常需要有管理员权限
复制代码

 

posted @   paul_hch  阅读(1413)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2017-04-17 Shell脚本实现非法IP登陆自动报警【转】
点击右上角即可分享
微信分享提示