⑤ 【MySQL】DCL语句 —— 用户管理、权限控制

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

⑤ 【MySQL】DCL语句 —— 用户管理、权限控制_第1张图片

MySQL用户与权限

  • ⑤ 【MySQL】DCL语句 —— 用户管理、权限控制


⑤ 【MySQL】DCL语句 —— 用户管理、权限控制


  • SQL分类

    • DDL:数据定义语言,用来定义数据库对象(数据库,表,字段)
    • DML:数据操作语言,用来对数据库表中字段进行增删改
    • DQL:数据查询语言,用来查询数据库中表的记录
    • DCL:数据控制语言,用来创建数据库用户,控制数据库的访问权限


DCL - 管理用户

  • MySQL用户管理

    • ①查询用户

    • USE mysql;
      SELECT * FROM USER;
      
    • ②创建用户

    • CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
      
      • -- 实例:
        
        -- 创建用户 private_user,只能在当前主机访问,密码123456
        CREATE USER 'private_user'@'localhost' IDENTIFIED BY '123456';
        
        -- 创建用户 public_user,可以在任意主机访问数据库,密码123456
        CREATE USER 'public_user'@'%' IDENTIFIED BY '123456';
        
    • ③修改用户密码

    • ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
      
    • ④删除用户

    • DROP USER '用户名'@'主机名';
      
  • 注意:

    • 主机名可以使用%通配。
    • 这类SQL开发人员使用较少,主要是DBA(DataBase Administrator 数据库管理员)使用。

DCL - 权限控制

  • 常用权限分类:

    • ALL\ALL PRIVILEGES:所有权限
    • SELECT:查询数据的权限
    • INSERT:插入数据的权限
    • UPDATE:修改数据的权限
    • DELETE:删除数据的权限
    • ALTER:修改表的权限
    • DROP:删除数据库/表/视图的权限
    • CREATE:创建数据库/表的权限
  • MySQL控制用户权限:

    • ①查询权限

    • SHOW GRANTS FOR '用户名'@'主机名';
      
    • ②授予权限

    • GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
      
    • ③撤销权限

    • REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
      
  • 注意:

    • ①多个权限之间,使用逗号,分隔。
    • ②授权时,数据库名和表名可以使用*进行通配,代表所有。




你可能感兴趣的:(SQL,拿来即用。,mysql,数据库,权限控制,用户管理)