MySQL权限篇之CREATE USER

权限CREATE USER是global privilege。

该权限可以创建,修改和删除用户。

如:

mysql> show grants for 'ut01'@'%';
+----------------------------------------+
| Grants for ut01@%                      |
+----------------------------------------+
| GRANT CREATE USER ON *.* TO 'ut01'@'%' |  #global privilege只能on *.*,否则报语法错误
+----------------------------------------+
1 row in set (0.00 sec)


mysql>


mysql> select user();
+----------------+
| user()         |
+----------------+
| ut01@localhost |
+----------------+
1 row in set (0.00 sec)


mysql> create user 'ut02'@'%';
Query OK, 0 rows affected (0.07 sec)


mysql> alter user 'ut02'@'%' identified by '20127163';
Query OK, 0 rows affected (0.05 sec)


mysql> alter user 'ut02'@'%' PASSWORD EXPIRE;
Query OK, 0 rows affected (0.12 sec)


mysql> alter user 'ut02'@'%' account lock;
Query OK, 0 rows affected (0.03 sec)


mysql> drop user 'ut02'@'%';
Query OK, 0 rows affected (0.03 sec)


mysql> drop user 'ut03'@'%';  #该用户为另外一个super用户所创建,但其同样能够删除
Query OK, 0 rows affected (0.04 sec)


mysql>


ps,mysql里面的schema和oracle的schema含义还是有很大区别的。

oracle的schema是用户和该用户的所有对象的集合。

而mysql的schema仅仅是一个库,和用户没有关系。

也就是说,mysql的schema里的对象(如表,视图,函数,用户等)和用户没有关系。

比如,ut01@%创建了表t1,但是t1表不属于ut@%用户,其只属于某个schema。

它不像oralce里面那样,对象必须依赖某个用户。

mysql没有这层概念。

这样就导致了,用户对某个对象的权限具有相当大的灵活性。

你可能感兴趣的:(MySQL数据库-权限)