Uwaga z wyprzedzeniem:to nie jest moja odpowiedź. Znalazłem go pod adresem http://lists.mysql.com/mysql/202610 i dla uproszczenia skopiowałem i wkleiłem kredyt dla Stephena Cooka
Możesz użyć widoku INFORMATION_SCHEMA.TABLES, aby wygenerować dla siebie GRANTstatements. Napisz zapytanie w następujący sposób:
SELECT CONCAT('GRANT SELECT ON test.', TABLE_NAME, ' to ''foouser'';')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'test'
AND TABLE_NAME LIKE 'foo_%'
Następnie uruchom go, skopiuj wyniki i uruchom je jako zapytanie lub skrypt. Możesz oczywiście zwariować, jak chcesz, na przykład jeśli robisz to dla wielu użytkowników, możesz napisać procedurę składowaną, która pobiera parametr dla nazwy użytkownika i dlatego może być używana jako narzędzie, kiedy tylko tego potrzebujesz.
To nie jest składnia, o którą prosiłeś, ale jest to fajna sztuczka, która działa.
--
Zastąp schemat tabeli „test” nazwą swojej bazy danych. foo_% można zastąpić odpowiednim przedrostkiem_%
Próbowałem tego na własną rękę i zadziałało świetnie.