六、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;

 

二、数据备份

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

原文地址:https://www.cnblogs.com/littlefivebolg/p/9391743.html