CREATE权限仅仅指明用户能够创建,数据库、表和必须隐式创建的索引(比如主键索引和唯一键索引)。
当然这也要根据授权的方式不同而不同。
比如:
mysql> show grants for 'ut01'@'%';
+----------------------------------+
| Grants for ut01@% |
+----------------------------------+
| GRANT USAGE ON *.* TO 'ut01'@'%' |
+----------------------------------+
1 row in set (0.00 sec)
mysql> grant create on test.* to 'ut01'@'%'; #这仅仅让该用户能够在test schema中创建表(和隐式索引),但是不能创建库(schema)
Query OK, 0 rows affected (0.25 sec)
mysql> show grants for 'ut01'@'%';
+----------------------------------------+
| Grants for ut01@% |
+----------------------------------------+
| GRANT USAGE ON *.* TO 'ut01'@'%' |
| GRANT CREATE ON `test`.* TO 'ut01'@'%' |
+----------------------------------------+
2 rows in set (0.00 sec)
mysql>
仅仅被授予CREATE权限的用户不能alter表结构,也不能显示创建和删除索引,也不能查询和dml表,更不能drop表。
而如下方式授予的create权限:
mysql> grant create on *.* to 'ut01'@'%';
Query OK, 0 rows affected (0.04 sec)
mysql> show grants for 'ut01'@'%';
+-----------------------------------+
| Grants for ut01@% |
+-----------------------------------+
| GRANT CREATE ON *.* TO 'ut01'@'%' |
+-----------------------------------+
1 row in set (0.00 sec)
mysql>
实际上额外还有了创建database/schema的权限,但是不能删除database/schema。