访问控制和帐户管理
- 一般安全问题
- 本节描述了需要注意的一般安全问题,以及如何使MySQL安装更安全以防止受到攻击或滥用。有关MySQL用于设置用户帐户和检查数据库访问权限的访问控制系统的详细信息,安全准则在连接到Internet的计算机上使用MySQL的任何人都应阅读本节,以避免最常见的安全错误。在讨论安全性时,有必要考虑完全保护整
- 权限控制
- MySQL支持创建帐户,该帐户允许客户端用户连接到服务器并访问服务器管理的数据。MySQL权限系统的主要功能是验证谁从给定主机连接用户,并与特权用户数据库如联想SELECT,INSERT,UPDATE,和DELETE。其他功能包括授予管理操作特权的功能。为了控制哪些用户可以连接,可以为每个帐户分配身
- 授权访问
- 指定帐户名称MySQL帐户名由用户名和主机名组成,这可以为具有相同用户名且可以从不同主机进行连接的用户创建不同的帐户。本节介绍如何编写帐户名称,包括特殊值和通配符规则。MySQL角色名称与帐户名称相似,但在“指定角色名称”中有所描述。在SQL语句,例如CREATE USER,GRANT和SET PA
- 创建账户
- 添加帐户,分配特权和删除帐户要管理MySQL帐户,请使用用于此目的的SQL语句:CREATE USER并DROP USER创建和删除帐户。GRANT并向REVOKE帐户分配特权和从帐户撤消特权。SHOW GRANTS显示帐户权限分配。帐户管理语句使服务器对基础授权表进行适当的修改,这在“授权表”中进
- 帐户类别
- 从MySQL 8.0.16开始,MySQL结合了基于SYSTEM_USER特权的用户帐户类别的概念。系统帐户和常规帐户受SYSTEM_USER特权影响的操作系统会议和例会保护系统帐户不被常规帐户操纵系统帐户和常规帐户MySQL结合了用户帐户类别的概念,根据系统用户和普通用户是否具有SYSTEM_US
- 账户权限控制
- 使用部分撤销的权限限制在MySQL 8.0.16之前,除某些模式外,无法授予全局适用的特权。从MySQL 8.0.16开始,如果partial_revokes启用了系统变量,这是可能的。具体来说,对于在全局级别具有特权的用户,partial_revokes可以撤消特定架构的特权,而保留其他架构的特权
- 帐户密码管理
- 分配帐户密码连接到MySQL服务器的客户端所需的凭据可以包括密码。本节介绍如何为MySQL帐户分配密码。MySQL将凭据存储在系统数据库的user表中mysql。分配或修改密码的操作仅授予具有以下CREATE USER特权的用户,或者具有mysql数据库INSERT特权(创建新帐户的UPDATE特权
- 可插拔身份验证
- 当客户端连接到MySQL服务器时,服务器使用客户端提供的用户名和客户端主机从mysql.user系统表中选择适当的帐户行。然后,服务器对客户端进行身份验证,从帐户行中确定哪个身份验证插件适用于客户端:如果服务器找不到插件,则会发生错误并且连接尝试将被拒绝。否则,服务器将调用该插件以对用户进行身份验证
- 代理用户
- MySQL服务器使用身份验证插件对客户端连接进行身份验证。验证给定连接的插件可以请求出于特权检查目的将连接(外部)用户视为其他用户。这使外部用户可以成为第二个用户的代理。也就是说,要承担第二个用户的特权:外部用户是“代理用户”(可以模拟或成为其他用户的用户)。第二用户是“代理用户”(其身份和特权可以
- 帐户锁定
- MySQL支持为 nd 语句使用ACCOUNT LOCK nd ACCOUNT UNLOCK子句锁定和解锁用户帐户:CREATE USERALTER USER与一起使用时CREATE USER,这些子句指定新帐户的初始锁定状态。在没有任何一个子句的情况下,将以解锁状态创建帐户。如果validate_
- 设置账户资源限制
- 限制客户端使用MySQL服务器资源的一种方法是将全局max_user_connections系统变量设置为非零值。这限制了任何给定帐户可以建立的同时连接数,但是对客户端一旦连接后可以做什么没有任何限制。此外,设置max_user_connections无法启用单个帐户的管理。MySQL管理员都对这两
- 对连接到MySQL的问题进行故障排除
- 如果您在尝试连接到MySQL服务器时遇到问题,则以下各项描述了一些可用于纠正问题的操作。确保服务器正在运行。如果不是,则客户端无法连接到它。例如,如果尝试连接服务器失败,并显示以下消息之一,则可能是服务器未运行:shell>mysqlERROR 2003: Can't connect to M
- 基于SQL的帐户活动审核
- 应用程序可以使用以下准则来执行将数据库活动与MySQL帐户相关联的基于SQL的审核。MySQL帐户对应于mysql.user系统表中的行。客户端成功连接后,服务器会将客户端认证到该表中的特定行。该行中的User和Host列值唯一地标识帐户,并对应于在SQL语句中写入帐户名的格式。'user_name