ALL,全局的所有权限或者表级的所有权限,例如all on *.*就是拥有所有全局权限,all on test.test,就是拥有test表级的所有权限。
ALTER,允许执行alter table更改表结构;alter table的执行除了alter,同时需要create和insert权限;rename操作需要对旧表有alter和drop权限,对新表有create和insert权限。
ALTER ROUTINE,允许对存储过程或函数执行alter或drop操作。
CREATE,允许创建数据库或表。
CREATE ROUTINE,允许创建存储过程或函数。
CREATE TABLESPACE,允许create,alter,drop tablespaces或log file group。
CREATE TEMPORARY TABLES,允许使用create temporary table创建临时表,创建临时表以后,该会话对该临时表拥有所有权限,不再做权限检查。
CREATE USER,可以执行alter user,create user,drop user,rename user,revoke all privileges。
CREATE VIEW,允许创建视图。
DELETE,删除数据行。
DROP,允许删除database,table,view,alter table … drop partition删除分区以及truncate table同样需要drop权限。
EVENT,允许create,alter,drop,see event。
EXECUTE,允许执行存储过程或函数。
FILE,允许执行load data infile,select … into outfile,load_file(),在5.7建表时指定data directory和index directory也需要file权限。
GRANT OPTION,允许将自己控制的权限授予他人或者从他人那里回收。
INDEX,允许创建或删除索引。
INSERT,允许插入数据行;analyze table,optimize table和repair table同样需要insert权限。
LOCK TABLES,执行lock tables语句。
PROCESS,允许查看线程运行信息,执行Show processlist,show engine。
REFERENCES,在一个表创建外键时,需要有父表的references权限。
RELOAD,允许执行flush操作,如flush logs,flush privileges,flush tables等。
REPLICATION CLIENT,允许执行show master status,show slave status,show binary logs。
REPLICATION SLAVE,复制用户所需权限,否则无法请求主库变更推送。
SELECT,查询权限,但如果不获取数据行,则不需要,如select 1+1;explain解析执行计划同样需要select权限。
SHOW DATABASES,允许执行show databases查看所有数据库名,否则只能查看自己有权限在上面的数据库。
SHOW VIEWS,允许执行show create view,对view做explain也需要此权限。
SHUTDOWN,允许执行mysqladmin shutdown。
SUPER,拥有以下权限:
更改全局变量,部分会话变量也需要此权限;
set transaction;
在从库启动或停止复制线程;
change master,change replication filter;
purge binary logs和binlog语句;
可以在创建存储过程或视图时指定definer为任意用户;
create server,alter server,drop server;
mysqladmin debug;
kill会话线程;
即使连接数达到max_connection,MySQL仍然为super用户预留一个连接;
在read-only模式下依然可以执行DML;
当super用户连接时不会执行init_connect;
MySQL在offline模式下不会终结super用户连接,并且接受super用户的新连接。
TRIGGER,允许create,drop,execute或查看trigger,触发器的创建用户,在执行触发器时仍然要求该用户拥有trigger权限。
UPDATE,更新权限。
USAGE,无任何含义。