MySQL权限如下表
权限名字 | 权限说明 | Context |
---|---|---|
CREATE | 允许创建新的数据库和表 | Databases, tables, or indexes |
DROP | 允许删除现有数据库、表和视图 | Databases, tables, or views |
GRANT OPTION | 能够把自己获得的权限转赠给其他用户一个副本 | Databases, tables, or stored routines |
LOCK TABLES | 允许使用显式锁表的语句锁表,前提是你必须有SELECT权限 | Databases |
REFERENCES | MySQL 5.7.6之前引用特权是未使用的。5.7.6,创建一个外键约束需要引用父表的特权。 | Databases or tables |
EVENT | The EVENT privilege is required to create, alter, drop, or see events for the Event Scheduler. | Databases |
ALTER | 允许修改权限或重命名表 | Tables |
DELETE | 允许从表中或数据库中删除行 | Tables |
INDEX | 允许创建或删除索引 | Tables |
INSERT | 允许在表和数据库中插入行 | Tables or columns |
SELECT | 允许在表和数据库这查询行 | Tables or columns |
UPDATE | 允许在表和数据空中更新行 | Tables or columns |
CREATE TEMPORARY TABLES | 允许创建和使用临时表 | Tables |
TRIGGER | 允许使用触发器相关,前提是你必须拥有这个表的CREATE、DROP、EXECUTE或者Display权限 | Tables |
CREATE VIEW | 允许使用CREATE VIEW语句 | Views |
SHOW VIEW | 允许使用SHOW VIEW语句 | Views |
ALTER ROUTINE | ALTER ROUTINE允许你修改存储过程(过程或函数)前提是你需要在存储过程上拥有ALTER或DROP权限 | Stored routines |
CREATE ROUTINE | ALTER ROUTINE允许你创建存储过程(过程或函数)前提是你需要在存储过程上拥有ALTER或DROP权限 | Stored routines |
EXECUTE | 允许你执行存储过程(过程或函数) | Stored routines |
FILE | 文件读写权限允许你文件在服务器主机上使用LOAD DATA INFILE and SELECT 语句以及LOAD DATA()函数 | File access on server host |
CREATE TABLESPACE | 允许创建表空间,前提是你需要CREATE、ALTER OR DROP tablespaces 以及属于log file 组 | Server administration |
CREATE USER | 允许使用ALTER USER, CREATE USER, DROP USER, RENAME USER, and REVOKE ALL PRIVILEGES 语句 | Server administration |
PROCESS | 允许使用SHOW PROCESSLIST or mysqladmin processlist看到线程属于其他账户,你总能看到自己的线程。PROCESS权限还允许使用SHOW ENGINE语句 | Server administration |
PROXY | Server administration | |
RELOAD | 允许使用FLUSH语句,以及mysqladmin命令中对于FLUSH的操作例如:flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, and reload. | Server administration |
REPLICATION CLIENT | 是否有权限去请求复制相关主数据库产生的事件的,允许显示的使用SHOW MASTER STATUS, SHOW SLAVE STATUS, and SHOW BINARY LOGS语句 | Server administration |
REPLICATION SLAVE | 是否能够创建连接以复制的方式,连接至数据库服务器端 | Server administration |
SHOW DATABASES | 允许使用SHOW DATABASES来查看所有数据库列表,如果没有这个权限则只能查看规定数据库 | Server administration |
SHUTDOWN | 允许使用SHUTDOWN语句,mysqladmin shutdown命令,以及mysql_shutdown()API函数 | Server administration |
SUPER | 超级特权可以用于终止其他会话或改变服务器运行。属于特别高级别的一类权限 | Server administration |
USAGE | 无权限,当您想要创建一个没有权限的用户时,可以指定USAGE | Server administration |
ALL PRIVILEGES | 所有权限: ALL PRIVILEGES,可以简写为ALL | Server administration |
授权方式:
GRANT 权限名字(多个权限用","号隔开)
ON 数据库名.表名
TO '用户名'@'允许登录的ip地址'
[IDENTIFIED BY '密码'
];
例子:
GRANT ALTER,DELETE,INDEX,INSERT,SELECT,UPDATE ON zabbix_server.* TO 'zabbix'@'localhost' IDENTIFIED BY '';
查看用户获得的授权:
SHOW GRANTS FOR 'USERNAME'@'HOST'
;
SHOW GRANTS FOR 'zabbix'@'localhost';