Mysql帐户拒绝访问某些数据库

时间:2015-06-02 08:49:38

标签: mysql

我希望创建一个mysql用户帐户,它可以访问除一个秘密数据库之外的所有内容。我知道如何创建一个帐户来访问特定的数据库,但拒绝访问其他任何内容。但我不知道如何以相反的方式做到这一点。

1 个答案:

答案 0 :(得分:5)

我不认为有一种直截了当的方式。但这是一种自动化方式:

使用mysql命令行工具。

  1. 为用户提供登录信息(" USAGE"),例如:

    GRANT USAGE ON *.* TO 'most'@'localhost' IDENTIFIED BY 'pwd';

  2. 生成剩余的拨款:

    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');

  3. 复制&粘贴它们以执行它们。

  4. (根据需要更改'大多数',' localhost',' pwd',' secret'