zoukankan      html  css  js  c++  java
  • 六、MySQL系列之数据备份(六)

      本篇主要介绍用户授权、以及数据备份等知识;

    一、用户授权

      首先我们需要知道的是:

        所有的用户及权限信息都存储在mysql数据库下的user表中,故我们可以通过查看user表的记录来查看用户权限信息,当然修改用户权限需要 grant方法;

     1.1 查看用户权限

      1、查看user表的结构

    ---- 查看 user 表的结构
        desc user;

      2、查看所有用户具备的某些权限

    -- 查看用户是否拥有的某些权限    
        select user,host,authentication_string,delete_priv from user;

     2.2 创建账户、授权

      注 : 创建账户以及授权需要实例级账户登录,例如root;

      1、创建用户 

        grant 权限列表  on 数据库 to "用户名" @ "访问主机"  identified  by "密码" ; 

    #创建用户
    grant select,insert on taobao.goods to "xiaowu"@"localhost" identified by "12345";

      上例:创建一个用户用户名为xiaowu,密码为12345,只能在本机登录,并且只能针对taobao数据库的goods表有查询、插入权限;

    • 权限列表:create、alter、drop、insert、update、delete、select等,若分配所有权限---all privileges;
    • 访问主机:可以是 "%"(允许任意主机登入)或者localhost(只允许本机登入)、或者指定IP(192.168.23.34)等
    • 数据库:可以指定整个数据的所有表 (taobao.*),也可以指定数据库的某个表(taobao.goods)等

      2、查询该用户有哪些权限

    -- 查看 xiaowu用户有哪些权限
        show grants for xiaowu@localhost;
    +------------------------------------------------------------------+
    | Grants for xiaowu@localhost                                      |
    +------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO 'xiaowu'@'localhost'                       |
    | GRANT SELECT, INSERT ON `taobao`.`goods` TO 'xiaowu'@'localhost' |
    +------------------------------------------------------------------+
    2 rows in set (0.01 sec)
    输出结果如下:

     2.3  修改用户权限

      1、增设权限

       grant  权限名称  on  数据库  to   账户@主机  with  grant   option;

    -- 增设权限 
    grant update on jing_dong.goods to xiaowu@localhost with grant option;
    
    -- 刷新
    flush privileges;

      增设了该用户对jing_dong数据库下表goods的查询的权限;

      2、回收权限

       revoke  权限名称 on 数据库 from  账户@主机

    -- 回收权限
    revoke insert on taobao.goods from xiaowu@localhost;
    
    -- 刷新
    flush privileges;

      上例:回收了该用户对taobao数据库的goods表的插入权限;

      

      3、修改密码

          update user set  authentication_string= password("新密码") where  user="用户名" ; --针对mysql 数据表user的修改操作

    # 修改用户xiaowu的密码
    update user set authentication_string=password("xiaowu55") where user="xiaowu";

      注:必须使用password对密码进行加密处理,否则报错;

      

      4、删除账户

        方式一:drop  user  "用户名"@"主机名";

    # 使用drop删除
    drop user "xiaowu"@"localhost";

        方式二、删除mysql数据库中的user表中的数据 -- delete from user where user="用户名";

    --  使用delete from删除user表中数据
        delete from user where user="xiaowu";
    
    --  刷新
         flush  privileges;

     

    二、数据备份

      ~~~~未完待续~~~~~~~~~~~~~~

  • 相关阅读:
    Java设计模式之代理模式
    Java设计模式之单例模式
    Android 退出多Activity的application的方式
    自己动手系列——实现一个简单的LinkedList
    自己动手系列——实现一个简单的ArrayList
    Java多线程基础——Lock类
    制作一个功能丰富的Android天气App
    IdentityServer4 学习二
    IdentityServer4 学习一
    SC创建服务编写bat脚本
  • 原文地址:https://www.cnblogs.com/littlefivebolg/p/9391743.html
Copyright © 2011-2022 走看看