我有一个 MySQL 5.x 数据库,包含大约 100 个表。我想仅授予某些表的 SELECT
权限:
show tables from my_db like '%some_pattern%'; # select only tables
...以及其余表上的 SELECT
、INSERT
、UPDATE
、DELETE
。
我该怎么做?
最佳答案
尝试
SELECT CONCAT('GRANT SELECT ON schemaName.', TABLE_NAME, ' to ''username'';')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'schemaName'
AND TABLE_NAME LIKE '%some_pattern%'
和
SELECT CONCAT('GRANT SELECT, INSERT, UPDATE, DELETE ON schemaName.', TABLE_NAME, ' to ''username'';')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'schemaName'
AND TABLE_NAME NOT LIKE '%some_pattern%'
然后运行上面的语句,复制生成的sql并运行结果授予权限
关于mysql - 授予对选定表的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32458143/