权限管理¶
查看权限种类¶
SHOW PRIVILEGES;
可以通过该语句查看可用的权限语句
SELECT | 查询权限 |
INSERT | 数据插入权限 |
UPDATE | 更新权限 |
DELETE | 删除权限 |
CREATE | 建表权限 |
DROP | 删表权限 |
ALL | 所有权限(包括创建用户和给其它用户赋权) |
设置权限¶
语法如下:
GRANT privileges ON index_name.table_name TO username@'host_name';
如(为用户remy设置):
GRANT all ON *.* TO remy@'%'; -- 所有权限
GRANT all ON * TO remy@'localhost'; -- 可通过本机访问的所有权限
GRANT all ON * TO remy@'10.68.%'; -- 可通过 10.68.% 网络访问的所有权限
GRANT all ON xxx*.* TO remy@'%'; -- 针对xxx开头的所有index或alias的所有权限
GRANT all ON xxx.yyy* TO remy@'%'; -- 名为xxx的index(或alias)的所有yyy开头的表名的权限
GRANT create, drop ON *.* TO remy@'%'; -- 建立和删除index的权限
-- 开启红名单后,往名单中添加信息(如身份证号)。查询时记录中包含这些信息,则该记录所有字段都会被马赛克(换成*号显示)
GRANT select ON *.* TO remy@'%' WITH redkeys; -- 查询所有数据的权限(做红名单处理)
查看权限¶
语法如下:
SHOW GRANT WITH username@'host_name';
如(查看用户remy的):
SHOW GRANT WITH remy; -- 所有权限
SHOW GRANT WITH remy@'localhost'; -- 可通过本机访问的所有权限
SHOW GRANT WITH remy@'10.68.1.10'; -- 可通过 10.68.1.10 访问的所有权限
SHOW GRANT WITH remy@'10.%'; -- 可通过 10.% 网络访问的所有权限
删除权限¶
语法如下:
REVOKE privileges ON index_name.table_name FROM username@'host_name';
如(删除用户remy的):
REVOKE all ON *.* FROM remy@'%'; -- 所有权限
REVOKE all ON *.* FROM remy@'10.68.1.%'; -- 通过 10.68.1.% 网络访问的所有权限
REVOKE all ON xxx* FROM remy@'%'; -- 针对xxx开头的所有index或alias的所有权限
REVOKE all ON xxx.yyy* FROM remy@'%'; -- 名为xxx的index(或alias)的所有yyy开头的表名的权限
REVOKE CREATE, DROP ON *.* FROM remy@'%'; -- 建立和删除index的权限