本篇主要介绍用户授权、以及数据备份等知识;
一、用户授权
首先我们需要知道的是:
所有的用户及权限信息都存储在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;
-- 刷新
flushprivileges;
增设了该用户对jing_dong数据库下表goods的查询的权限;
2、回收权限
revoke 权限名称 on 数据库 from 账户@主机
-- 回收权限revoke insert on taobao.goods from xiaowu@localhost;
-- 刷新
flushprivileges;
上例:回收了该用户对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;
二、数据备份
~~~~未完待续~~~~~~~~~~~~~~