Mysql 权限说明

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,无任何含义。
————————————————
版权声明:本文为优快云博主「遇星」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/weixin_39004901/article/details/100663108

MySQL用户权限用于控制用户对数据库和表的访问和操作权限MySQL使用基于角色的授权模型,其中用户被授予角色,而角色具有特定的权限MySQL用户权限包括以下几个方面: 1. 全局权限:全局权限适用于整个MySQL服务器,包括创建用户、创建数据库、执行备份等。例如,SUPER权限允许用户执行任何操作。 2. 数据库级别权限:数据库级别权限适用于特定数据库。例如,用户可以被授予CREATE、ALTER、DROP和SELECT等权限。 3. 表级别权限:表级别权限适用于特定表。例如,用户可以被授予SELECT、INSERT、UPDATE和DELETE等权限。 4. 列级别权限:列级别权限允许用户对特定表的某些列进行操作。例如,用户可以被授予只能SELECT或UPDATE某些列的权限。 5. 存储过程和函数权限:存储过程和函数权限允许用户执行和修改存储过程和函数。 6. 路由器权限:路由器权限允许用户执行和管理MySQL复制和集群等功能。 要设置MySQL用户权限,可以使用GRANT语句来授权用户相应的权限。例如,以下语句授予用户"username"在数据库"mydatabase"上的SELECT和INSERT权限: ``` GRANT SELECT, INSERT ON mydatabase.* TO 'username'@'localhost'; ``` 此外,还可以使用REVOKE语句来取消用户的权限。例如,以下语句撤销用户"username"在数据库"mydatabase"上的INSERT权限: ``` REVOKE INSERT ON mydatabase.* FROM 'username'@'localhost'; ``` 需要注意的是,为了确保数据库的安全性,应该仅为用户授予必要的最小权限,并谨慎管理用户的访问权限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值