MySQL学习记录6

  1. 对于验证和授权,它们有什么区别,各自发生在用户访问过程的哪个阶段?

验证:验证用户的 身份 。这是访问控制的第一个阶段。每次连接时都必须成功验证身份。如果验证失败,则无法连接,客户机将断开连接。

授权:验证用户的 权限。这是访问控制的第二个阶段,面向针对成功验证了身份的活动连接的每个请求。MySQL 将确定:你要执行什么操作,你是否有执行此操作所需的恰当权限。

  1. MySQL 用户账户的定义信息保存在数据库的什么地方?

MySQL将帐户的定义信息存储在mysql系统数据库的user表中。

  1. 在定义用户时,要避免在主机名中使用通配符,除非绝对必要。请给出如何检查用户定义中包含有通配符的办法。

不创建没有口令的帐户,不创建匿名帐户,没有用户名的帐户,例如 ''@localhost,在可能的情况下,避免在指定帐户主机名时使用通配符。

  1. 角色是一个不允许连接的帐户,因为它是作为锁定帐户创建的。 可以使用 ALTER USER 语句解锁角色,将其转换为允许连接的帐户。请问这个说法对不对,给出验证结果。

不对, ALTER USER 语句显式地指定用户名修改和更改当前用户的口令和更改用于连接到服务器的用户帐户的口令,不能用于修改用户权限。

  1. 请说明 FILE、PROCESS、RELOAD 这三个系统权限的作用?

FILE:允许运行 SQL 语句,在服务器主机文件系统中读写文件。

PROCESS:允许使用 SHOW PROCESSLIST 语句查看客户端正在执行的所有语句。

RELOAD:允许执行 FLUSH 语句以重新加载日志和权限表。

  1. 在授予权限时,WITH GRANT OPTION 或 WITH ADMIN OPTION 子句会对被授予的权限有什么影响?

WITH GRANT OPTION授予全局级别的所有权限,包括向其他帐户授予权限的能力。

  1. 在权限管理中,不能将口令和对象直接关联,不能对表行进行授权,不能明确拒绝对特定对象比如表的访问。谈一下你对这三个判断的理解。

不能将口令和对象直接关联是说账户名称不是唯一的,不能一一关联。不能对表行进行授权是说授权是针对用户或者角色来说的。不能明确拒绝对特定对象比如表的访问是说访问表需要权限,只要权限许可就可以访问相应的表,不是绝对的。

  1. 请说明授权表的内容和它的作用?

授权表内容:user 表包含服务器已知的每个帐户的记录,以及它的全局权限,它还显示与帐户有关的其他信息,每个账户必须有一个 user 表记录; 服务器通过读取该表的内容来确定是接受还是拒绝每个连接尝试。如果每个帐户在全局级别以外的级别拥有权限,则它在其它授权表中也有记录。

授权表的使用:每个授权表都有 host 和 user 列来标识其记录适用的帐户,在连接尝试期间,服务器确定客户端是否可以连接,使用 plugin 和 authentication_string 列,连接后,服务器确定每个语句的访问权限,user.%_priv 字段以及 db 和 %_priv 表包含授权信息,每个授权表中的 user 和 host 字段标识帐户。MySQL 安装过程会创建授权表,授予表使用 InnoDB 存储引擎。

  1. 你是如何理解“最小权限原则”的?

最小权限是指每个程序和用户都应该具有完成任务所必需的最小权限集合。所以对于系统管理员而言,一个用户应该只能访问履行他的相关职责所需访问的数据和硬件而不能给出多于所需的权限,如果给出超出工作需要的权限则可能会是生产生活出现问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值