mysql对以某字符开头的所有表进行授权访问

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,oracle,数据库)