美文网首页程序员
MySQL中的DCL(Data Control Language

MySQL中的DCL(Data Control Language

作者: kangyiii | 来源:发表于2017-03-02 11:19 被阅读0次

    DCL表示数据控制语言,所谓数据控制,其实就是"分配权限",通常会涉及到用户。我们主要讨论两个问题,1.用户管理 2.权限分配。

    MySQL中的权限

    MySQL中,主要的权限如下:


    MySQL中的权限

    MySQL中的用户信息都存储在系统数据库mysql的user表中,user表中则存储着每个用户拥有的权限。

    Snip20170301_3.png
    创建用户
    creat user '用户名'@'允许登录的地址' identified by '密码';
    

    说明:

    1. 创建的用户需同时指定该用户可以在哪个地址进行登录。
    2. 用户创建之后,自动在mysql的user表中添加了一条记录,但该用户没有任何权限。
    删除用户
    drop user '用户名'@'允许其登录的地址';
    
    修改用户密码
    //修改自己的密码
    set password = password('新密码');
    //修改他人密码(需要修改权限):
    set password for '用户名'@'允许其登录的地址'=password('新密码');
    

    权限分配

    增加权限:
    grant 权限名1,权限名2,···on 数据库名.对象名 to '用户名'@'允许其登录的地址' identified by '密码';
    > 
    1. 权限名:就是'select','update','delete',等等。其中ALL表示"所有权限",或all privileges也一样
    2. 对象名:*.*表示所有数据库中的所有对象,数据库名.*表示该数据库中的所有对象(较常用)。
    3. identified by后可不写,表示不修改密码。但创建用户时必须填写密码。
    
    删除权限

    表示从某个用户身上移除某些权限

    revoke 权限名1,权限名2,···on 数据库名.对象名 from '用户名'@'允许其登录的地址';
    

    相关文章

      网友评论

        本文标题:MySQL中的DCL(Data Control Language

        本文链接:https://www.haomeiwen.com/subject/ptdcgttx.html