第十三章 用户和权限管理 (完结)

第十三章  用户和权限管理
1.了解用户和用户权限
答:在实际的工作中,为了保证数据库的安全,数据库管理员会对需要使用数据库的用户分配用户名,密码及操作的权限范围,使用户只能在自己权限范围内操作。
涉及的表:
    user表(账号字段,权限字段,安全字段,资源控制字段)
    db表:(host,db,user)
    tables_priv表(host,db,user,table_name,grantor,timestamp,table_priv,column_priv)
    columns_priv表(host,db,user,table_name,column_name,timestamp,column_priv)
    proces_priv表:(host,db,user,routine_name,routine_type,grantor,proc_priv,timestamp)
访问控制过程:
    1.连接验证阶段
          用户的身份可以通过提供正确的密码来验证
          用户的账号是锁定还是解锁
    2.请求验证阶段
          在请求验证阶段,服务器会检查用户是否有足够的权限执行每项操作。依次从上述的表中检            查。

2.掌握create user 创建用户的用法
答:创建普通用户
            创建最简单的用户:create user '用户名'@'主机地址';(采用%表示任意主机,若写入ip则                                              表示只能通过客户端访问特定ip的MySQL服务器)
                         eg:create user 'xulixia';(未指定主机和密码)
              创建含有密码的用户:create user '用户名'@'主机地址' identified 【with ‘身份验证插件类                                                   型’】by ‘密码’;
                         eg:create user 'zhangsan' identified by '123456';

3.掌握alter user 设置密码的方法
答:普通用户修改自己的密码:
                select current_user();(选择当前登陆用户)
                alter user user() identified by 'password';
                root用户修改自己的密码和普通用户密码:
                修改root用户自己的密码:alter user user() identified by 'password';
                                           mysqladmin -u root -p password “root" (回车后输入原来的123456密                                             码,则密码被改为root。)
        修改普通用户密码:alter user 用户名 identified by '明文密码';
                 set password for 用户='new_password';
          注意:系统用户和普通用户都不可以使用update命令修改密码。
      
4.掌握grant 授予用户权限的使用方法
答:权限分类:
              全局级
              数据库级
              表级
              列级
              例程级
查看新用户权限:( usage 表示无权限 )
               show grants [ for user_or_role ];
               show grants;(查看当前用户权限)
授予表级和列级权限:
               表级:grant 权限列表 on 数据库名.表名 to 用户 [ with grant option ];
               列级:grant 权限类型 (字段列表) on 数据库名.表名 to 用户 [ with grant option ];
                         eg:grant update(xm) on jwgl.xsjbxxb to zhang@localhost;
授予数据库权限:
              grant 权限列表 on 数据库名.* to 用户 [ with grant option ];
授予全局权限:
              grant 权限列表 on *.* to 用户 [ with grant option ];

5.掌握revoke 权限收回的使用
答:收回特定权限:
               revoke select on jwgl.* from wang@localhost;
       收回全部权限:
               revoke all on *.* from zhang@localhost;

6.掌握角色权限的授予和收回
答:创建角色
                create role role;
                        eg:create role 'app_developer';
      查看角色权限:
                show grants for 角色;
      授予角色权限:
                grant 权限 to 角色;
                          eg:grant all on jwgl.* to app_developer;
     激活角色:
                查看活动的角色:select current_role();
                激活想要激活的角色:set default role all to 角色;
                收回角色或角色权限:
                              revoke role from user;
                                        eg:revoke insert,update,delete on jwgl.* from app_write;
     删除角色:
                drop role 角色名;
补充:角色和用户可以互换使用:
          将角色分配给用户:grant 角色名 to 用户名;
           将用户分配给角色:grant 用户名 to 角色名;

补充:修改用户名和删除密码
         修改用户名:rename user  老用户 to 新用户;(注意:root 用户可以用update 更改用户                                    名,但需要输入:flush privileges刷新权限,否则下次无法登陆)
         删除普通用户:drop user 用户名;
                                  delete from mysql.user where user='zhang';
     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ee .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值