1.登录root用户
mysql -u root -p 密码
2.创建用户
CREATE USER 用户名 @ host IDENTIFIED BY 密码 ; #localhost 是本地账户不支持联网登录
例如:create user zjh @ localhost identified by zjh123456 ;
3.给新的用户授权
GRANT privileges ON databasename.tablename TO 用户名 @ host
# privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等
# 如果要授予所的权限则使用ALL.;
databasename - 数据库名,
tablename - 表名,
如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
例如:GRANT All ON *.* TO 用户名 @ host
# 最后一定要执行
flush privileges;
4.修改密码
SET PASSWORD FOR 用户名 @ host = PASSWORD( 密码 );
例如:SET PASSWORD FOR zjh @ localhost = PASSWORD( zjhai123456 );
5.撤销用户权限
格式:REVOKE privilege ON databasename.tablename FROM username @ host ;
说明: privilege, databasename, tablename - 同授权部分.
例子: REVOKE SELECT ON mq.* FROM dog2 @ localhost ;
PS: 假如你在给用户 dog @ localhost 授权的时候是这样的(或类似的):
GRANT SELECT ON test.user TO dog @ localhost ,
则在使用REVOKE SELECT ON *.* FROM dog @ localhost ;
命令并不能撤销该用户对test数据库中user表的SELECT 操作.
相反,如果授权使用的是GRANT SELECT ON *.* TO dog @ localhost ;
则REVOKE SELECT ON test.user FROM dog @ localhost ;
命令也不能撤销该用户对test数据库中user表的Select 权限.
6.删除用户
mysql DROP USER username @ host ;
7.查看用户的授权
mysql show grants for dog@localhost;
PS:GRANT USAGE:mysql usage权限就是空权限,默认create user的权限,只能连库,啥也不能干
本文为我原创