mysql二级-第11章.访问控制与安全管理

一、用户账号管理

0.概念

select host,user from mysql.user; 

mysql数据库.user数据表.user用户登录名列,host域名IP地址列(存储了所有用户账号和相关信息)
其中root这个登陆名是超级账户

1.创建用户账号

1.1创建最简单的账号

create user tom; 

1.2创建带初始密码的账号

create user 用户名 identified by’密码’;–明文密码
create user 用户名 identified by password’xxxxxxx’;–密文密码
select password(‘654321’);–查看明文对应密文 password()函数

create user tom identified by'123456';

select password('654321');--查对应密文
create user tom identified by password'*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';--用密文初始化密码要用password'',注意这里没有();为什么用密文,出于安全因素考量

1.3改初始化密码(超级管理员看到的密码是加密后的密码 无法破解)

set password [for sb]=password(‘xxx’)
–设置密码不能直接设置 要用password()函数绕一圈,没有for sb就是为当前账户设置

set password [for tom]=password('654321');

1.4重命名用户账号

rename user oldname to newname;

rename user tom to jerry;

1.5自行测试语句/做完上述操作后

select host,user from mysql.user; --查看账户是否创建成功,其中显示%指所有
show grants [for tom]; 查看账户授权情况 其中usage为只连接数据库权限
show grants; 看自己在哪个账户下
mysql -utom --无初始密码
exit
drop user tom;(以超级用户账号权限删除)

二、账户权限设置

2.1授予权限

授什么权给什么人(授什么权在什么上授,给什么人) 背没什么必要 本身就是英语 逐渐会有语感 有语感后句子自然就出来 命令出错可以分析原因(标准的符合英语语法的一句话)
2.1.1 Example1:

情境:给Jerry分配查看db_student中看学号 姓名
语法:grant 权限名称 [(列名)} on dbname.tbname to sb;—列权限,数据库权限,表权限

grant select(studentno,studentname) on db_student.tb_student to jerry;

2.1.2 Example2

情境:创建账户Tom,给他两个权限(在db_studnet上查看和select,update insert权限)
要求;创建账号+分配权限 一条命令完成

grant select,insert,update,delete on db_student.* to tom identified by'123456';--*.*所有数据库的所有表;也可以select(字段)

测试语句举例:
select host,user from mysql.user;—(user数据表)
exit
show grants;
show database;
尝试做操作看是否成功

2.1.3 Example3

grant all on *.* to tom; --超级用户

2.2转移权限

grant  all on *.* to tom with grant option;--建立一个拥有转移权的账户tom

grant select on db_student.* to jerry;--tom转移权给jerry

2.3剥夺权限

revoke select on db_student.* from Jerry;--   (from 剥夺,授予to)

易混点总结:
rename…to…命名为

set…for sb…为谁设置…
show grants for sb;

grant…to…授权/转移权限
revoke…from…剥夺权限
口诀:
授权to 剥夺from

注意:描述Tom拥有select的用户权限,指全部select权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值