用户与权限

用户与权限

用户管理

创建用户

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';
原文地址:https://www.cnblogs.com/striver20/p/13853507.html