权限管理

查看权限种类

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的权限