zoukankan      html  css  js  c++  java
  • day18:用户权限管理

    用户与数据库服务器交互数据,分为两个阶段:

    (1)你有没有权连接上来
    (2)你有没有权执行本操作

    1、你有没有权连接上来

    服务器如何判断用户有没有权连接上来?

    依据:

    1)你从哪里来?host
    2)你是谁?user
    3)你的密码是多少?password

    用户的这三个信息,存储在mysql库中的user表中

    2、你有没有权执行本操作

    在mysql中,有一个库是mysql库,在这个库中有三个表,一个是user表,user表中存储了所有用户的权限信息。一个是db表,db表存储的是所有用户在数据库层的权限信息。一个是tables_priv表,tables_priv表存储的是所有用户在表层的权限信息。

    用户登录,user表首先能限制用户登录,其次还保存了该用户的全局权限,如果该用户没有任何权限,那么将从db表中查找该用户是否有某个数据库的操作权限,如果都没有,将从table_priv表中查找该用户是否有某个表的操作权限,如果有,则该用户可以按照已有的权限来操作该表。

    一、管理用户

    1、查看用户

    首先切换到MySQL数据库

    use  mysql;

    查看所有用户

    select * from user;

    2、创建用户

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

    create user 'zhangsan'@'localhost' identified by '123456';

    3、修改用户密码

    语法:update  user  set password=password('新密码')  where  user='用户名';

    update user set password=password('123') where user='zhangsan';

    修改完密码之后需要刷新以下,否则密码不会被修改,执行以下语句刷新:

    flush privileges;

    4、删除用户

    语法:drop user  '用户名'@'主机名';

    drop user 'zhangsan'@'localhost';

    二、权限管理

    1、查询权限

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

    show grants for 'root'@'localhost';
    show grants for 'zhangsan'@'localhost';

    2、授予权限

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

    例如:给张三用户授予所有的权限,在任意数据库任意表上

    grant all on *.* to 'zhangsan'@'localhost';

    例如:给李四用户授予访问wgy数据库demo表查询的权限

    create user 'lishi'@'localhost' identified by '123456';
    grant select on wgy.demo1 to 'lishi'@'localhost';

    3、撤销权限

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

    例如:撤销张三用户的所有权限

    revoke all on *.* from 'zhangsan'@'localhost';

    例如:撤销李四用户访问wgy数据库demo表查询的权限

    revoke select on wgy.demo1 from 'lishi'@'localhost';

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

  • 相关阅读:
    2020最新版Springcloud-Alibaba ZooKeeper篇(三)
    2020最新版SpringCloud(H版&alibaba)框架开发教程(二)
    2020最新版SpringCloud(H版&alibaba)框架开发教程(一)
    String StringBuffer StringBuilder详细分析和面试题
    算法-一个经典sql 题和一个Java算法题
    大数据开发-Flume-频繁产生小文件原因和处理
    大数据开发-Hive-常用日期函数&&日期连续题sql套路
    MapReduce怎么优雅地实现全局排序
    intelliJ IDEA 鼠标光标消失问题
    maven依赖问题的出现原因与解决方式
  • 原文地址:https://www.cnblogs.com/wuguiyu/p/11940664.html
Copyright © 2011-2022 走看看