mysql高级:权限检查原理

来源:互联网 发布:淘宝店铺上新软件 编辑:程序博客网 时间:2024/06/08 07:00
用户连接到mysql,并做各种查询.


[用户] <---> [服务器] 分为2个阶段


    1.是否有权限连接上来.
    2.是否有权限执行此操作(select、update、insert等).


    1:判断用户是否有权限连接上来?
        依据3个参数:
            管理员来源IP
            管理员账号
            管理员密码


        用户这3个信息存储在mysql库的user表中
            host字段是允许来源IP
                % 代表所有IP
            修改用户的密码
                update user set password = password('密码') where 用户名;
                flush privileges;
        
    2:判断用户执行权限
        依据步骤
            管理员是否有管理当前库的权限,当没有权限时,向下判断是否有操作某个表的权限
            操作时,判断管理员是否有执行当前操作的权限


        新增一个用户
            grant [权限1,权限2,权限3...] on 库名.表 to 用户名@来源 [identified by 密码]
                如果要允许所有库与表,库名.表 可用 *.*表示。


            常用权限有 all、create、drop、select、insert、update、delete


            例:
                grant all on *.* to eli@% identified by '111111';
                flush privileges;
        修改权限
            例:
                revoke all on *.* from eli@%;
                flush privileges;
0 0
原创粉丝点击