用户与权限
用户与权限
用户管理
创建用户
CREATE USER <用户名> [IDENTIFIED] BY [PASSWORD] <口令>
#创建一个用户,用户名为jack,密码是123456,主机是localhost
CREATE USER 'jack'@'localhost'
IDENTIFIED BY '123456';
修改用户
#修改用户账号
RENAME USER <旧用户> TO <新用户>
#修改用户密码
SET PASSWORD [FOR <用户名>] =
{
PASSWORD('新明文口令')
| OLD_PASSWORD('旧明文口令')
| '加密口令值'
}
SET PASSWORD FOR 'jack'@'localhost'=
PASSWORD('123456789');
删除用户
DROP USER <用户名1> [,<用户名2>]....
DROP USER 'jack'@'localhost';
权限管理
授予用户权限
GRANT
<权限类型> [ ( <列名> ) ] [,<权限类型> [ ( <列名> ) ] ]
ON <对象> <权限级别> TO <用户>
其中<用户>的格式:
<用户名> [IDENTIFIED] BY [PASSWORD] <口令>
[WITH GRANT OPTION]
| MAX_QUERIES_PER_HOUR <次数>
| MAX_UPDATES_PER_HOUR <次数>
| MAX_CONNECTIONS_PER_HOUR <次数>
| MAX_USER_PER_HOUR <次数>
#创建一个新用户testUser,授予GRANT权限
GRANT SELECT,INSERT ON *.*
TO 'testUser'@'localhost'
IDENTIFIED BY 'testPwd'
WITH GRANT OPTION;
#查询用户testUser的权限
SELECT Host,User,Select_priv,Grant_priv
FROM mysql.user
WHERE User='testUser';
撤销用户权限
可以使用REVOKE语句撤销一个用户的权限,此用户不会被删除
第一种:
REVOKE <权限类型> [(<列名>)] [,<权限类型> [ (<列名>) ] ]...
ON <对象类型> <权限名> FROM <用户1> [,<用户2>]...
第二种:
REVOKE ALL PRIVILEGES,GRANT OPTION
FROM user <用户1> [,<用户2> ]...
#取消用户testUser的插入权限
REVOKE INSERT on *.*
FROM 'testUser'@'localhost';
#查询用户权限
SELECT Host,User,Select_priv,Insert_priv,Grant_priv
FROM mysql.user
WHERE User='testUser';