MySQL之用户权限详解

前言

有没有试过自己创建一个新的用户,然后仅仅赋予select的权限,只给你看,不给你碰。

心急吃不到热豆腐,猴急猴急的。

用户权限:登峰造极

权限是可以精细到某个库的某个表的某个操作,毕竟如果你是个小白,来了之后一通瞎搞,这怎么说。

我下边的操作总体概述为:

步骤一:人生若只如初见

创建一个名为abc的用户,然后来玩abc这个用户。
CREATE USER 'abc'@localhost IDENTIFIED BY 'abc';

步骤二:何事秋风悲画扇

查看abc用户现有权限,一根毛的权限都没有。
SHOW GRANTS FOR abc@localhost;

在这里插入图片描述

步骤三:等闲变却故人心

授予abc用户,legal数据库中所有表,查询的权限。注意on后边是数据库名.*GRANT SELECT ON legal.* TO abc@localhost; #
授予权限后,最好刷新一下权限,不然有可能出现权限更新不及时的情况。
FLUSH PRIVILEGES;
查看abc用户现有权限,见下图。
SHOW GRANTS FOR abc@localhost;

在这里插入图片描述
测试:
当仅仅给abc一个查询权限时,abc在进行新增,修改,删除行数据及创建数据表等操作时会失败。
在这里插入图片描述
在这里插入图片描述

步骤四:却道故人心易变

授予abc用户,legal数据库中所有表,增删改查的权限。
GRANT SELECT, INSERT, UPDATE,DELETE ON legal.* TO abc@localhost; 
刷新权限.
FLUSH PRIVILEGES;
查看abc用户现有权限。
SHOW GRANTS FOR abc@localhost;

在这里插入图片描述
测试:
在这里插入图片描述

命令总结:我欲齐天,法力无边

查看当前用户
SELECT USER();
查看当前用户权限
SHOW GRANTS;
查看所有用户
SELECT * FROM mysql.user;
SELECT HOST,USER FROM mysql.user;
创建新用户
CREATE USER 'abc'@localhost IDENTIFIED BY 'abc';
创建用户后,刷新权限
FLUSH PRIVILEGES;
删除用户
DROP USER abc@localhost;
# 授予用户权限。刚创建的新用户没有权限。
# 格式为:grant 权限列表 on 数据库名.数据表名 to ‘用户名’@’主机’ identified by ‘密码’ with grant option;
# 语句尾部with grant option;代表该用户可以授予别人权限。
GRANT SELECT, INSERT, UPDATE,DELETE ON legal.* TO abc@localhost; 
GRANT ALL PRIVILEGES ON legal.* TO abc@localhost IDENTIFIED BY 'abc' WITH GRANT OPTION;
刷新权限。
FLUSH PRIVILEGES;
查看现有权限;
SHOW GRANTS FOR abc@localhost;
mysql有哪些权限;
SHOW PRIVILEGES;
回收权限
REVOKE SELECT, INSERT, UPDATE,DELETE ON glaudit.* FROM abc@localhost;

······································································
牙疼的我,大牙牙龈上凸起了一个白白的东西,嘴肿了。哭了

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值