MySQL用户及权限

本文详细介绍了如何在MySQL中管理用户权限,包括查询当前用户权限、创建用户并授予特定权限、查看和撤销权限。涵盖了grant、showgrants、createuser和revoke等关键命令及其用法。
摘要由CSDN通过智能技术生成

1、MySQL用户及权限管理

1.查询当前用户权限:

show grants:
 show 是用于获取各种信息的关键字,比如库、表、用户、权限等而show grants则是用于获取当前用户的权限的

2.查询指定用户的权限

show grants for root@localhost;
   show grants for root@localhost;这里使用了for指定查询了root用户 而@localhost的表示用户的主机名部分,它指定了用户可以从那个主机连接到MySQL服务器

3.创建用户,授予数据库查询权限

create user lop@localhost
identified by "123456";
        create 是用于创建各种信息的关键字 加上user则表示创建用户 lop@localhost 就表示用户名和主机名 identified by "123456"则是指定用户的密码

4.查看lop@localhost的权限

show grants for lop@localhost;

5.使用select查询mysql.user表查看用户的全局权限

select * from mysql.user where user='lop'\g
​
    select * from是用于查询所有信息的,mysql.user指的是mysql库下的user表 where是条件筛选 user='lop'是我给的条件只有满足条件的才会被查询出来
\g使查询到的每列打印到单独的行,也有;的作用
mysql.user表存放的是用户名、密码、来源主机,同时野村分类用户的全局权限

2、授予用户权限

1.grant 授予权限

在授予用户权限之前我们先了解insert(插入)delete(删除)update(更新)select(查询)这四种权限,如果我们的用户想要执行对应的操作就需要相应的权限

grant insert on databasess.* t0 lop@localhost;
这是为用户添加对于databasess库下所有表的insert权限

grant delete on databasess.* t0 lop@localhost;
这是为用户添加对于databasess库下所有表的delete权限
其他权限同理

2.mysql中用户的权限

权限类型权限说明
All/All Privileges代表全局或者全数据库对象级别的所有权限
Alter代表允许修改表结构的权限,但必须要求有create和insert权限配合。如果是rename表名,则要求有alter和drop原表, create和insert新表的权限
Alter routine代表允许修改或者删除存储过程、函数的权限
Create代表允许创建新的数据库和表的权限
Create routine代表允许创建存储过程、函数的权限
Create tablespace代表允许创建、修改、删除表空间和日志组的权限
Create temporary tables代表允许创建临时表的权限
Create user代表允许创建、修改、删除、重命名user的权限
Create view代表允许创建视图的权限
Delete允许执行delete操作
Drop代表允许删除数据库、表、视图的权限,包括truncate table命令
Event代表允许查询,创建,修改,删除MySQL事件
Execute代表允许执行存储过程和函数的权限
File代表允许在MySQL可以访问的目录进行读写磁盘文件操作,可使用的命令包括load data infile,select … into outfile,load file()函数
Grant option代表是否允许此用户授权或者收回给其他用户你给予的权限,重新付给管理员的时候需要加上这个权限
Index代表是否允许创建和删除索引
Insert代表是否允许在表里插入数据,同时在执行analyze table,optimize table,repair table语句的时候也需要insert权限
Lock tables代表允许对拥有select权限的表进行锁定,以防止其他链接对此表的读或写
Process代表允许查看MySQL中的进程信息,比如执行show processlist, mysqladmin processlist, show engine等命令
Reference是在5.7.6版本之后引入,代表是否允许创建外键
Reload代表允许执行flush命令,指明重新加载权限表到系统内存中,refresh命令代表关闭和重新开启日志文件并刷新所有的表
Replication client代表允许执行show master status,show slave status,show binary logs命令
Replication slave代表允许slave主机通过此用户连接master以便建立主从复制关系
Select允许执行select操作
Show databases代表允许执行show databases命令查看所有的数据库名
Show view代表允许执行show create view命令查看视图创建的语句
Shutdown代表允许关闭数据库实例,执行语句包括mysqladmin shutdown
Super代表允许执行一系列数据库管理命令,包括kill强制关闭某个连接命令, change master to创建复制关系命令,以及create/alter/drop server等命令
Trigger代表允许创建,删除,执行,显示触发器的权限
Update允许执行update操作
Usage是创建一个用户之后的默认权限,其本身代表连接登录权限。使用create user语句创建的用户,默认就拥有这个usage权限,但是除了能登录之外,

3、收回用户权限

1.撤销指定权限

撤销lop对databasess库中所有表的insert和delete权限

revoke insert,delete on databasess.* from lop@localhost;

2.撤销对表的全部权限

revoke all privileges on test.* from lop@localhost;
或 privileges就不在此解释了如果感兴趣可以自行查阅
revoke all on test.* from lop@localhost;

注意!usage权限是用户一经创建就有的,无法使用revoke命令撤销权限

3.撤销用户对所有的权限(除usage)

revoke all ,grant option from lop@localhost;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值