_DCL管理用户_增删改查(mysql忘记用户密码)

DCL (Data Control Language)

  • SQL分类:
    1. DDL:操作数据库和表 create / alter / drop
    2. DML:增删改表中数据 insert /update/delete
    3. DQL:查询表中数据 select /show
    4. DCL:管理用户,授权 grant /revoke

    • DBA:数据库管理员
  • DCL:管理用户,授权

    • 1. 管理用户
      1.1 添加用户:
      * 语法:CREATE USER ‘用户名’@‘主机名’ IDENTIFIED BY ‘密码’;
      在这里插入图片描述

      1.2 删除用户:
      * 语法:DROP USER ‘用户名’@‘主机名’;
      * 在这里插入图片描述

      1.3.修改用户密码:
UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';
UPDATE USER SET PASSWORD = PASSWORD('abc') WHERE USER = 'lisi';
				
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');

				

[注意]
mysql8.0 之后的版本用
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY’新密码’;
在这里插入图片描述

mysql中忘记了root用户的密码?

  1. cmd – > net stop mysql 停止mysql服务
    * 需要管理员运行该cmd
    在这里插入图片描述
    如上图,要是输入net stop mysql 显示服务名无效,
    服务名无效原因:服务名是你安装MySQL时手动或默认配置的,忘记之后直接查看用cmd输入services.msc,
    然后在cmd中输入net stop MySQL80.13(我设置成了MySQL80.13)即可关闭(也可以直接在打开的msc文件中右键-属性-禁用)。

2. 使用无验证方式启动mysql服务:skip-grant-tables在8.0中已失效
输入 在cmd中使用mysqld --console --skip-grant-tables --shared-memory

在这里插入图片描述

  1. 打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登录成功

  2. use mysql;

  3. update user set password = password(‘你的新密码’) where user = ‘root’;

  4. 关闭两个窗口

  5. 打开任务管理器,手动结束mysqld.exe 的进程

  6. 启动mysql服务

  7. 使用新密码登录。

  8. 4查询用户
    – 1. 切换到mysql数据库
    USE myql;
    – 2. 查询user表
    SELECT * FROM USER;
    在这里插入图片描述

    		* 通配符: % 表示可以在任意主机使用用户
    
  • 2. 权限管理:
    • 1. 查询权限
      – 查询权限
      SHOW GRANTS FOR ‘用户名’@‘主机名’;
      SHOW GRANTS FOR ‘Tom’@‘localhost’;
      在这里插入图片描述
      root权限就很多
      在这里插入图片描述

    • 2. 授予权限:
      – 授予权限
      grant 权限列表 on 数据库名.表名 to ‘用户名’@‘主机名’;
      – 给张三用户授予所有权限,在任意数据库任意表上

        	GRANT ALL ON *.* TO 'Tom'@'localhost';
        	![在这里插入图片描述](https://img-blog.csdnimg.cn/2020103015481091.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDY2NDQzMg==,size_16,color_FFFFFF,t_70#pic_center)
      

在这里插入图片描述
在这里插入图片描述

只能查询到db3中的account表,并且对account表进行不了增删改除等操作。

  • 3. 撤销权限:
    – 撤销权限:
    revoke 权限列表 on 数据库名.表名 from ‘用户名’@‘主机名’;
    例: REVOKE SELECT ON db3.account FROM ‘Tom’@‘localhost’;
    在这里插入图片描述
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值