mysql核心内幕第八章-安全管理系统

本章主要讨论在MySQL客户端/服务器之间连接的过程中,服务器端采用什么样的用户认证机制实现登录,以及用户登录以后,数据库又是如何实现权限分配的。
MySQL数据库连接访问控制机制分为两个阶段。第一个阶段,判断是否允许用户连接到数据库;第二个阶段,成功建立连接后,用户可以对哪些数据库及数据库表进行有效权限的操作。

账号认证

账号认证就是判断连接用户及其所在主机是否满足默认 mysql 数据库中 user 表包含的相关认证信息。

账号定义

MySQL中的用户账号是由user(用户名)和host(客户端主机)共同组成的:user 和 host 这两个参数是通过默认 mysql 数据库中的 user 表来定义的。
注意:正是由于 MySQL 通过两个参数来定义一个账号,所以,即便是同一个用户名,如果从不同的主机进行登录,那么服务器端也会认为是两个不同的连接请求。
user 表有很多字段构成,其中Host,User,Password 三个字段信息将作为接入连接的认证参考,分别将 Host 和 User 两个字段作为用户登录身份认证,而 Password 字段则作为密码审核认证。
User 是连接登录使用的用户名;Host 是客户端的主机名或IP地址;Password 是提供给服务器端登录认证的密码。三个字段都不得为 NULL ,默认会将它们都置为空字符串,即 User 可以为匿名用户,Password也可以不设置密码,Host表示允许从任何主机上连接。

身份审核

你可能感兴趣的:(mysql)