Предварительное примечание: это не мой ответ. Я нашел это в http://lists.mysql.com/mysql/202610 и скопировал и вставил для простоты кредит Стивену Кук
Вы можете использовать представление INFORMATION_SCHEMA.TABLES для генерации GRANT.
заявления для вас. Напишите запрос следующим образом:
SELECT CONCAT('GRANT SELECT ON test.', TABLE_NAME, ' to ''foouser'';')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'test'
AND TABLE_NAME LIKE 'foo_%'
Затем запустите его, скопируйте результаты и запустите эти результаты как запрос или
скрипт. Вы можете, конечно, сойти с ума, как вы хотите с этим, для
Например, если вы делаете это для многих пользователей, возможно, напишите хранимую процедуру
который принимает параметр для имени пользователя и поэтому может использоваться как
инструмент, когда вам это нужно.
Это не тот синтаксис, который вы просили, но это хороший трюк, который работает.
-
Замените схему таблицы 'test' на имя вашей базы данных. foo_% можно заменить подходящим префиксом _%
Я попробовал это сам, и он отлично работал.