GRANT对以某字符开头的数据库赋权能够实现
GRANT SELECT ON `web_%`.* TO gykj;
而对以某字符开头的所有表赋权则会显示找不到该表
GRANT SELECT ON `jdy_5d887fb66b4e340fe4899e7d_%` TO gykj;

解决办法就是将这些sql命令生成出来再逐条执行
SELECT
CONCAT( 'GRANT SELECT ON web_data.', TABLE_NAME, ' to ''gykj'';' )
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = 'web_data'
AND TABLE_NAME LIKE 'jdy_5d887fb66b4e340fe4899e7d_%'


本文介绍了一种在MySQL中对特定前缀的数据库和表进行批量授权的方法。当使用GRANT命令直接对以某字符开头的所有表赋权失败时,可以通过生成并执行特定SQL语句的方式来实现。文中提供了一个SQL查询示例,展示了如何为符合指定前缀的表生成单独的授权语句。
5365





