MySQL有关权限的表都有哪几个

我国白癜风知名专家 http://hunan.ifeng.com/a/20170705/5797804_0.shtml

在MySQL中,为了保证数据库的安全性,在操作数据库和控制用户权限时,会涉及到一系列系统的内建表。这些表记录了用户、数据库、权限和其它相关信息,可以协助DBA来进行数据库管理和调整。

在MySQL中,有以下五个内建表是与权限相关的:

1、mysql.user

该表包含了所有注册到该MySQL实例上的用户账户和密码信息。当用户连接到MySQL服务器时,这些信息将被验证,并使用该账号的授权来确定所允许进行的数据库层级权限和操作类型。

mysql.user表中重要的字段如下:

用户名(User):用于标识该用户的用户名;

主机名(Host):允许该用户连接MySQL服务器的主机名或IP地址;

密码(Password):账号对应的密码,安全性较低且已被官方废弃;

认证方式(Authentication_string):账号新密码,安全性较高可使用更多验证方式,如sha_password和caching_sha2_password等。

2、mysql.db

mysql.db表列出可以访问不同数据库的用户清单。如果用户能够连接到数据库,则有可能被分配给拥有某些数据库或表的特定权限。这个表维护的是SQLGRANT命令发出时指定的权限,其中每条记录都由数据库名称,用户身份验证信息和相关的数据访问权限代码组成。

3、mysql.tables_priv

该表列出了对于指定的数据表所允许执行的操作及其权限限制。这些信息可以被看作是mysql.db表的子集,因为它们是更具体的(仅针对数据表,而不是整个数据库)。在此表中进行的授权仅应用于这些特定的数据表,通常包括SELECT,INSERT,UPDATE和DELETE等操作。

4、mysql.columns_priv

与其他内建表不同,mysql.columns_priv表记录的是针对表和/或视图上任何单独的列的授权信息。列级别的授权能够大大精细化数据发放、满足用户需求和限制敏感数据的访问。表格中的所有字段都列出了一个组合,其中包含了表名、列名、用户身份验证信息和一系列特定的权限代码。

5、mysql.procs_priv

mysql.procs_priv表包含可对MySQL存储过程进行调用的用户身份验证信息以及调用时始终有资格的操作权限。这帮助管理员为不同的使用情况和查询要求创建自定义过程,同时为调用方提供确定的权限。

最后,所有上述表都由MySQL自动生成和维护,通过使用各种命令行实用程序和Web管理工具,DBA可以方便地查询和更新这些表的内容,以设定更加合理安全的数据库访问权限和控制规则,从而保障数据库的安全和稳定性。




转载请注明:http://www.aierlanlan.com/rzdk/8754.html

  • 上一篇文章:
  •   
  • 下一篇文章: