我希望创建一个mysql用户帐户,它可以访问除一个秘密数据库之外的所有内容。我知道如何创建一个帐户来访问特定的数据库,但拒绝访问其他任何内容。但我不知道如何以相反的方式做到这一点。
答案 0 :(得分:5)
我不认为有一种直截了当的方式。但这是一种自动化方式:
使用mysql命令行工具。
为用户提供登录信息(" USAGE"),例如:
GRANT USAGE ON *.* TO 'most'@'localhost' IDENTIFIED BY 'pwd';
生成剩余的拨款:
SELECT DISTINCT
CONCAT('GRANT ALL PRIVILEGES ON ', TABLE_SCHEMA, '.* TO most@localhost;')
FROM information_schema.TABLES
WHERE TABLE_SCHEMA
NOT IN('mysql', 'performance_schema', 'information_schema', 'secret');
复制&粘贴它们以执行它们。
(根据需要更改'大多数',' localhost',' pwd',' secret'