MySQL-创建用户和设置权限
程序员文章站
2022-06-03 20:44:43
...
1.创建用户和设置权限:CREATE USER和GRANT命令
GRANT 和REVOKE命令分别授予和取消MySQL用户的权限
- CREATE USER 命令用来创建用户:
CREATE USER user_info
IDENTIFIED BY [PASSWORD] password |IDENTIFIED WITH [auth_plugin] [AS auth_string]
方括号中子句是可选的。user_info->>[email protected] 其中hostname可选,而user_name是MySQL中登录的用户名
- GRANT 用来赋予用户权限。如果用户账号不存在,GRANT命令也将创建该用户
GRANT privileges [columns]
ON item
TO user_info
[IDENTIFIED BY password]|IDENTIFIED WITH [auth_plugin] [AS auth_string]]
[REQUIRE ssl_options]
[WITH [GRANT OPTION| limit_options]]
- REVOKE命令:
REVOKE命令与GRANT相反,它用来从一个用户收回权限,在语法上与GRANT十分相似
REVOKE privileges [{columns}]
ON item
FROM user_name
如果已经给出了WITH GRANT OPTION 子句,可以按照啊如下方式撤销权限
REVOKE ALL PRIVILEGES,GRANT OPTION
FROM user_name
2.使用GRANT 和REVOKE实例
要创建一个管理员,可以输入如下命令
grant all
on *.*
to 'fred' identified by 'mnb123'
with grant option;
以上命令授予了用户fred,密码未mnb123的用户使用所有数据库的所有权限以及云溪向其他人授予这些权限
如果不希望用户在系统中存在,可以按以下方式撤销授权
revoke all privilegess,grant option
from 'fred';
现在,可以按以下方式是创建一个没有任何权限的用户
grant usage
on book.*
to 'sally'@'localhost' identified by 'magic123'
然后可以按照以下方式授予适当权限
grant select,insert,update,delete,index,alter,create,drop
on books.*
to 'sally'@'localhost';
注意:要授予权限,并不需要指定密码
如果认为sally的权限过高,可以按照以下方式撤销所有权限
revoke all
on books.*
from 'sally'@'localhost';
现在,对revokr和grant命令是否有了初步了解了?
上一篇: java调用dll例子