MySQL访问控制系统
简介:在本教程中,我们将向您介绍MySQL访问控制系统以及MySQL中与各种权限相关的表。 MySQL实现了一个复杂的访问控制和权限系统,允许您创建全面的访问规则来处理客户端操作并有效防止未经授权的客户端访问数据库系统。 当客户端连接到服务器时,MySQL访问控制有两个阶段:
- 连接验证:连接到MySQL数据库服务器的客户端需要有一个有效的用户名和密码。此外,客户端连接的主机必须与MySQL授权表中的主机匹配。
- 请求验证:成功建立连接后,对于客户端发出的每个语句,MySQL会检查客户端是否具有足够的权限来执行特定语句。MySQL能够检查数据库,表和字段级别的权限。
user
:包含用户帐户和全局权限列。MySQL使用user
表来接受或拒绝来自主机的连接。user
表中授予的权限 对MySQL服务器上的所有数据库都有效。db
:包含数据库级别权限。MySQL使用db
表来确定用户可以访问哪个数据库以及从哪个主机访问。在db
表中的数据库级别授予的权限适用于数据库,并且所有对象都属于数据库,例如表,触发器,视图,存储过程等。table_priv
和columns_priv
:包含表级和列级权限。table_priv
表中授予的权限适用于表及其列,而columns_priv
表中授予的权限仅适用于 表的特定列。procs_priv
:包含存储的函数和存储过程权限