计算机二级MySQL笔记(第十一章 访问控制与安全管理)

MySQL中的用户账号信息都存储在一个名为mysql的数据库中,数据库里有一个名为user的数据表,包含了所有账号,并且它用一个名为user的列存储用户的登录名。

知道以上信息,那么我们根据以前的知识,应该知道如何查看用户账号信息了吧?方法如下:

select user from mysql.user; 

新安装的系统只有一个名为 root 的用户,拥有对整个服务器的完全控制的权限。在实际操作中,需要创建一系列具备适当权限的账号,来保证数据库的安全。

创建用户账号

使用create user 语句创建一个或多个账户,并设置相应口令,语法格式为:

create user user_name
identified by [password] 'password';
  • user_name:用户账号。其格式为用户名+主机名,即’user_name’@‘host_name’。如果没有指定主机名,默认为’%’,表示一组主机。
  • [password]:可选项,用于指定散列口令。通俗点说就是,如果你直接指定明文密码,该参数可省略;如果你的密码需要加密,改参数不可省略。

实例说明:

select password('456')
--加密返回散列值
--结果为 ‘*531e82...eo4’

--创建两个新用户zhangsan 和 lisi,密码分别为'123'和'456',其中‘456’密码使用加密后的散列值
create user 
'zhangsan'@'localhost' identified by '123', 
'lisi'@'localhost' identified by password '*531e82...eo4';

修改用户

1、修改账号名

rename user old_user to new_user;

2、修改密码

set password for 'wangwu'@'localhost' = 'hello';

删除用户

drop user lisi@localhost;
--这里删除lisi的账户及权限,如果不指定其主机名,会报错。因为系统默认主机名为‘%’

权限管理

成功创建用户账号后,需要分配适当的权限,新的用户账号只能登陆服务器,不能进行任何操作。

1、查看用户权限

show grants for 'zhangsan'@'localhost';

2、权限授予

grant 权限 on 权限级别 to 用户
[with with_option]; 
  • 权限:即权限的名称。可以指定为select、insert、delete、update等等权限。详情参考官方文档 Grant用法
  • 权限级别:可以理解为权限的作用域。可以指定为*,* . * ,db_name.*,db_name.tb_name 等等。详情请面向百度编程。哈哈~
  • [with_option]:可选项,实现权限的转移和限制。
  • 当权限授予的用户不存在时,grant语句也可以起到创建用户的作用。见课后习题。

实例说明:

--授予用户huang,在表tb_student上拥有select,update权限
grant select,update
on db_school.tb_student
to 'huang'@'localhost' identified by '123';

3、权限撤销

revoke 权限 on 权限级别 from 用户;

revoke用法与grant用法刚好相反,格式相似。

revoke select on db_school.tb_student from 'zhou'@'localhost';

课后习题

在这里插入图片描述

grant select,update
on db_test.content
to 'wanming'@'localhost' identified by '123';
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值