MySQL 授予创建数据库并选择特定数据库

问题描述 投票:0回答:1

我有所有这些 mysql 数据库:

我需要创建一个能够

的用户
  1. 创建新数据库
  2. 选择所有数据库表,除了
    test01
    数据库

这样做:

CREATE USER 'bduser000'@'%%' IDENTIFIED BY 'User000pass';

GRANT SELECT ON airplanecrashes.* to 'bduser000'@'%%'
GRANT SELECT ON airports.* to 'bduser000'@'%%'
GRANT SELECT ON craftbeer.* to 'bduser000'@'%%'
... (except test01)

.. bduser000 无法创建新数据库,但可以选择特定数据库中的表。

这样做:

CREATE USER 'bduser000'@'%%' IDENTIFIED BY 'User000pass';
GRANT ALL ON *.* TO 'bduser000'@'%%'

.. bduser000 能够创建新数据库,但它也能够选择

test01
数据库

有什么想法吗?

mysql privileges
1个回答
0
投票

不确定这是否是最好的方法,但它有效:

CREATE USER 'bduser000'@'%%' IDENTIFIED BY 'User000pass';

GRANT ALL PRIVILEGES ON newDatabaseName.* TO 'bduser000'@'%%'

GRANT SELECT ON airplanecrashes.* to 'bduser000'@'%%'
GRANT SELECT ON airports.* to 'bduser000'@'%%'
GRANT SELECT ON craftbeer.* to 'bduser000'@'%%'
... (except test01)

请注意,第一个授权是针对尚不存在的数据库:

newDatabaseName

© www.soinside.com 2019 - 2024. All rights reserved.