mysql数据库中user表字段详解

描述

MySQL的user表是MySQL服务器的内置表,它用于存储MySQL服务器上的用户信息,包括用户名、密码、主机名和权限等。它用于控制MySQL服务器上的访问权限,以确保服务器的安全性。

表结构

CREATE TABLE `user` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(32) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
  `ssl_cipher` blob NOT NULL,
  `x509_issuer` blob NOT NULL,
  `x509_subject` blob NOT NULL,
  `max_questions` int(11) unsigned NOT NULL DEFAULT '0',
  `max_updates` int(11) unsigned NOT NULL DEFAULT '0',
  `max_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `plugin` char(64) COLLATE utf8_bin NOT NULL DEFAULT 'mysql_native_password',
  `authentication_string` text COLLATE utf8_bin,
  `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `password_last_changed` timestamp NULL DEFAULT NULL,
  `password_lifetime` smallint(5) unsigned DEFAULT NULL,
  `account_locked` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  PRIMARY KEY (`Host`,`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges';

字段详解

Host

主机名,双主键之一,表示用户可以从哪个主机访问MySQL服务器,值为%时表示匹配所有主机,长度最大60。

User

用于存储用户的用户名,双主键之一。它是MySQL服务器上用户的唯一标识,用于登录MySQL服务器,长度最大32。

Select_priv

用于记录用户是否具有查询权限。如果值为Y,则表示用户具有查询权限;如果值为N,则表示用户没有查询权限。

Insert_priv

用于记录用户是否具有插入权限。如果值为Y,则表示用户具有插入权限;如果值为N,则表示用户没有插入权限。

Update_priv

用于指示用户是否具有更新数据库中表的权限。若该字段的值为"Y",则表示用户具有更新数据库中表的权限;若该字段的值为"N",则表示用户无权更新数据库中表

Delete_priv

字段用于指示用户是否具有删除数据库中表的权限。若该字段的值为"Y",则表示用户具有删除数据库中表的权限;若该字段的值为"N",则表示用户无权删除数据库中表。

Create_priv

字段用于指示用户是否具有创建数据库中表的权限。若该字段的值为"Y",则表示用户具有创建数据库中表的权限;若该字段的值为"N",则表示用户无权创建数据库中表。

Drop_priv

字段用于指示用户是否具有删除数据库中表的权限;若该字段的值为"Y",则表示用户具有删除数据库中表的权限;若该字段的值为"N",则表示用户无权删除数据库中表。

Reload_priv

字段用于指示用户是否具有重新加载数据库的权限;若该字段的值为"Y",则表示用户具有重新加载数据库的权限;若该字段的值为"N",则表示用户无权重新加载数据库。

Shutdown_priv

字段用于指示用户是否具有关闭数据库的权限;若该字段的值为"Y",则表示用户具有关闭数据库中权限;若该字段的值为"N",则表示用户无权关闭数据库。

Process_priv

字段用于指示用户是否具有查看和杀死其他用户的进程的权限;若该字段的值为"Y",则表示用户具有杀死其他用户的进程的权限;若该字段的值为"N",则表示用户无权杀死其他用户的进程。

File_priv

字段用于指示用户是否具有读取和写入文件的权限;若该字段的值为"Y",则表示用户具有读取和写入文件的权限;若该字段的值为"N",则表示用户无权读取和写入文件。

Grant_priv

字段用于指示用户是否具有授予其他用户权限的权限。若该字段的值为"Y",则表示用户具有授予其他用户权限的权限;若该字段的值为"N",则表示用户无权授予其他用户权限.

References_priv

该字段用于记录用户是否具有创建外键约束的权限,如果值为Y,则表示用户具有创建外键约束的权限;如果值为N,则表示用户没有创建外键约束的权限。

Index_priv

该字段用于记录用户是否具有创建索引的权限,如果值为Y,则表示用户具有创建索引的权限;如果值为N,则表示用户没有创建索引的权限。

Alter_priv

该字段用于记录用户是否具有修改表结构的权限,如果值为Y,则表示用户具有修改表结构的权限;如果值为N,则表示用户没有修改表结构的权限。

Show_db_priv

该字段用于记录用户是否具有查看数据库的权限,如果值为Y,则表示用户具有查看数据库的权限;如果值为N,则表示用户没有查看数据库的权限。

Super_priv

该字段用于记录用户是否具有执行管理员级别的操作的权限,如果值为Y,则表示用户具有执行管理员级别的操作的权限;如果值为N,则表示用户没有执行管理员级别的操作的权限。

Create_tmp_table_priv

该字段用于记录用户是否具有创建临时表的权限,如果值为Y,则表示用户具有创建临时表的权限;如果值为N,则表示用户没有创建临时表的权限。

Lock_tables_priv:

该字段用于记录用户是否具有锁定表的权限,如果值为Y,则表示用户具有锁定表的权限;如果值为N,则表示用户没有锁定表的权限。

Execute_priv:

该字段用于记录用户是否具有执行存储过程的权限,如果值为Y,则表示用户具有执行存储过程的权限;如果值为N,则表示用户没有执行存储过程的权限。

Repl_slave_priv

该字段用于记录用户是否具有使用复制的从服务器的权限,如果值为Y,则表示用户具有使用复制的从服务器的权限;如果值为N,则表示用户没有使用复制的从服务器的权限。

Repl_client_priv

该字段用于记录用户是否具有使用复制的客户端的权限,如果值为Y,则表示用户具有使用复制的客户端的权限;如果值为N,则表示用户没有使用复制的客户端的权限。

Create_view_priv

该字段用于记录用户是否具有创建视图的权限,如果值为Y,则表示用户具有创建视图的权限;如果值为N,则表示用户没有创建视图的权限。

Show_view_priv

该字段用于记录用户是否具有查看视图的权限,如果值为Y,则表示用户具有查看视图的权限;如果值为N,则表示用户没有查看视图的权限。

Create_routine_priv

指定用户是否具有创建存储过程的权限,如果值为Y,则表示用户具有创建存储过程的权限;如果值为N,则表示用户没有创建存储过程的权限。

Alter_routine_priv

指定用户是否具有修改存储过程的权限,如果值为Y,则表示用户具有修改存储过程的权限;如果值为N,则表示用户没有修改存储过程的权限。

Create_user_priv

指定用户是否具有创建新用户的权限,如果值为Y,则表示用户具有创建新用户的权限;如果值为N,则表示用户没有创建新用户的权限。

Event_priv

指定用户是否具有创建事件的权限,如果值为Y,则表示用户具有创建事件的权限;如果值为N,则表示用户没有创建事件的权限。

Trigger_priv

指定用户是否具有创建触发器的权限,如果值为Y,则表示用户具有创建触发器的权限;如果值为N,则表示用户没有创建触发器的权限。

Create_tablespace_priv

指定用户是否具有创建表空间的权限,如果值为Y,则表示用户具有创建表空间的权限;如果值为N,则表示用户没有创建表空间的权限。

ssl_type

指定用户的SSL证书类型,可以是DHE、RSA、ECDHE或者其他类型。

  • ANY:表示允许使用任何SSL加密类型;
  • X509:表示只允许使用X.509证书进行SSL加密;
  • SPECIFIED:表示只允许使用指定的SSL加密类型;
  • ‘’:表示不使用SSL加密。
ssl_cipher

指定用户的SSL密码类型

x509_issuer

指定用户的X509证书发行者,可以是一个机构或者个人。

x509_subject

指定用户的X509证书主题,可以是一个机构或者个人。

max_questions

它用于指定用户一次可以执行的最大查询数量。它可以有以下几种取值:

  • 0:表示不限制用户执行查询的数量;
  • 正整数:表示限制用户执行查询的数量;
max_updates

指定用户每个小时最多可以发出的更新次数。

  • 0:表示不限制用户执行更新的数量;
  • 正整数:表示限制用户执行更新的数量;
max_connections

指定用户每个小时最多可以发出的连接次数。

  • 0:表示不限制用户建立链接的次数;
  • 正整数:表示限制用户建立链接的次数上限;
max_user_connections

用于指定用户可以同时打开的最大连接数。

  • 0:表示不限制用户执行更新的数量;
  • 正整数:表示限制用户执行更新的数量;
plugin

用于指定用户验证方法的字段。该字段指定了MySQL使用哪种验证方法来验证用户的身份,默认情况下,MySQL使用mysql_native_password验证方法来验证用户的身份,如果需要使用其他验证方法,可以通过修改plugin字段的值来实现。取值可以是mysql_native_password、sha256_password等类型。

authentication_string

用于存储用户的认证信息的字段,该字段的值是一个加密的字符串,用于存储用户的认证密码。

password_expired

用于指定用户密码是否过期的字段。如果password_expired字段的值为Y,则表示用户的密码已经过期,用户需要重新设置密码才能登录;如果password_expired字段的值为N,则表示用户的密码没有过期,用户可以正常登录

password_last_changed

它用于记录用户最后一次修改密码的时间,该字段的数据类型为datetime,存储格式为yyyy-mm-dd hh:mm:ss。

password_lifetime:

用于设置密码的有效期,该字段的数据类型为int,存储格式为以秒为单位的整数,默认值为0,表示永不过期。

account_locked

用于设置用户的账户是否锁定,该字段的数据类型为tinyint,存储格式为N或Y,N表示未锁定,Y表示已锁定。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑牛儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值