Mysql基础5-用户及权限管理

寻技术 Mysql 2023年08月09日 94

一、介绍

  DCL:Data Control Language(数据控制语言),用来管理数据库用户,控制数据库的访问,权限。

二、用户管理

  1、查询用户

    语法:

      1、use mysql;

      2、select * from user;

        

         默认只有四个账户。

  2、创建用户

    语法:create user '用户名'@'主机名' identified by '密码';

      

      

       houlei这个就是新创建的,但是只能在本机上访问,因为主机名这里写的是localhost,如果换成通配符"%"就可以在所有主机上访问

      示例:create user 'Se7eN'@'%' identified by '123456';

  3、修改用户密码

    alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';

    

 

  4、删除用户

    drop user '用户名'@'主机名'

    示例:  

      

   5、注意

     * 主机名可以使用%通配

    * 这类SQL开发人员操作较少,主要是DBA(Database Administrator 数据库管理员)使用

 

三、权限控制

  1、常用权限及说明

    • all/all privileges: 所有权限
    • select: 查询数据权限
    • insert: 插入数据权限
    • update:修改数据权限
    • delete:删除数据的权限
    • alter:修改表的权限
    • drop:删除数据库/表/视图
    • create:创建数据库/表的权限

  2、查询权限 

    语法:show grants for '用户名'@'主机名';

      

  3、授予权限

    语法:grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

    示例:

      

    为其添加mysql_test数据库中的table_test表的权限    

      

      

  4、撤销权限

    语法:revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

    示例:撤销Se7eN账号的,mysql_test数据库中table_test表的所有权限

      

  5、注意:

    * 所有权限的设置及撤销的时候,使用的是root账号。

    * 多个权限之间,使用逗号

    * 授权时,数据库名和表名可以使用*进行通配,代表所有

 

关闭

用微信“扫一扫”