Lưu ý trước:Đây không phải là câu trả lời của tôi. Tôi tìm thấy nó tại http://lists.mysql.com/mysql/202610 và đã sao chép và dán để ghi nhận đơn giản cho Stephen Cook
Bạn có thể sử dụng chế độ xem INFORMATION_SCHEMA.TABLES để tạo GRANTstatements cho bạn. Viết một truy vấn dọc theo những dòng sau:
SELECT CONCAT('GRANT SELECT ON test.', TABLE_NAME, ' to ''foouser'';')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'test'
AND TABLE_NAME LIKE 'foo_%'
Sau đó, chạy nó, sao chép kết quả và chạy những kết quả đó dưới dạng một đoạn mã truy vấn. Tất nhiên, bạn có thể trở nên điên cuồng như bạn muốn với điều này, ví dụ:nếu bạn làm điều này cho nhiều người dùng, có thể viết một thủ tục được lưu trữ lấy tham số cho tên người dùng và do đó có thể được sử dụng như atool bất cứ khi nào bạn cần.
Đây không phải là cú pháp mà bạn yêu cầu, nhưng đó là một thủ thuật hay và hiệu quả.
-
Thay thế 'kiểm tra' lược đồ bảng bằng tên cơ sở dữ liệu của bạn. foo_% có thể được thay thế bằng tiền tố Appropraite_%
Tôi đã thử điều này một mình và nó hoạt động tốt.