一 用户管理
1.1 创建新用户
CREATE USER username@'主机' IDENTIFIED BY 'password';
username@'localhost' 用户只能从本地主机进行连接
username@'192.168.199.101' 用户可以从主机192.168.199.101进行连接
username@'192.168.199.%' 用户可以从任何属于192.168.199.x主机进行连接
username@'%' 用户可以从任何主机进行连接
比如创建用户hive,密码为hive,允许从任意主机连接数据库
CREATE USER hive@'%' IDENTIFIED BY 'hive';
1.2 删除用户
drop user username@hostname;
或者
delete from user where user='username' and host='hostname';
二 访问权限
2.1 针对特定用户授予特定权限
GRANT SELECT on database.table to username@hostname给特定用户授予对特定数据库中特定表的SELECT权限
GRANT SELECT on database.* to username@hostname 给特定用户授予对特定数据库中所有表的选择权
GRANT SELECT on *.* to username@hostname 给特定用户授予对所有数据库中所有表的选择特权
GRANT CREATE,ALTER,DROP on database.* to username@hostname向特定用户授予特定数据库中,创建,更改,和删除表的特权
GRANT all privileges on *.* to username@hostname identified by password with grant option;给特定的用户授予对所有数据库的所有可用特权,事实上相当于创建了一个超级用户(类似root)
比如:
grant all privileges on *.* to 'activemq'@'%' identified by 'activemq' with grant option;
2.2 回收权限
REVOKE option 特权并且具有要撤销的特权,才能撤销特权
REVOKE SELECT,UPDATE,DELETE,INSERT on database.table FROM username@hostname;
2.3 查看权限
SHOW GRANTS FOR username@hostname;
2.4 刷新权限表
在授予和撤销权限之后,需要刷新权限表
flush privileges;