一、用户列 (User Columns) - “能否登录”

这是用户登录时的身份验证凭据。只有这三项完全匹配,用户才能连接至 MySQL 服务器。

字段名类型说明
Hostchar(60)允许用户连接的主机名或 IP 地址。% 表示任何主机。
Userchar(32)用户名。
authentication_stringtext加密后的密码(自 MySQL 5.7 起取代 Password 字段)。


关键点:

   创建用户、修改密码、身份验证都围绕这三列。

   `Host` 和 `User` 共同组成一个用户的主键。`'root'@'localhost'` 和 `'root'@'%'` 是两个完全不同的用户。

 

二、权限列 (Privilege Columns) - “能做什么”

这些以 `_priv` 结尾的 `ENUM('N','Y')` 字段定义了用户在所有数据库和对象上拥有的全局权限。默认值为 `'N'`。

 权限类别  包含的主要权限  说明

数据操作 `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`  对表中数据的增删改查权限(DML)。

数据库/表结构操作 `Create_priv`, `Drop_priv`, `Alter_priv`, `Index_priv`  创建、删除、修改数据库、表、索引等(DDL)。

高级管理  `Super_priv`, `Shutdown_priv`, `Reload_priv`, `Process_priv`, `File_priv`  危险权限,通常只授予数据库管理员(DBA)。

权限管理  `Grant_priv`  允许用户将其自身的权限授予其他用户。

其他  `Create_user_priv`, `Event_priv`, `Trigger_priv`, `Execute_priv`等  创建用户、管理事件、触发器、执行存储过程等。

 

管理方式:

推荐:使用 `GRANT` 和 `REVOKE` SQL 语句进行授权和收权。

直接修改(不推荐):通过 `UPDATE` 语句直接修改 `user` 表,修改后需执行 `FLUSH PRIVILEGES;` 才能生效。

 

三、安全列 (Security Columns) - “安全地登录”

 字段名  说明

 `plugin`  身份验证插件(如 `mysql_native_password`, `caching_sha2_password`)。

 `password_expired`  密码是否过期(`'Y'` 或 `'N'`),强制用户下次登录时必须修改密码。

 `password_last_changed`  密码最后一次修改的时间。

 `password_lifetime`  密码的有效期(天数)。

 `account_locked`  账户是否被锁定(`'Y'` 或 `'N'`),被锁定的账户无法登录。

 `ssl_type`, `ssl_cipher` 等  用于强制使用 SSL 加密连接,增强网络传输安全。

 

实践提示:

   `ALTER USER 'username'@'host' PASSWORD EXPIRE;` 可设置密码立即过期。

   `ALTER USER 'username'@'host' ACCOUNT LOCK;` 可临时锁定账户,无需删除。

 

四、资源控制列 (Resource Control Columns) - “能用多少”

 字段名  说明

 `max_questions`  用户每小时最多可执行的查询操作次数。

 `max_updates`  用户每小时最多可执行的更新操作次数(INSERT, UPDATE, DELETE)。

 `max_connections`  用户每小时最多可建立的连接次数。

 `max_user_connections`  用户同时建立的最大连接数。

 

管理方式:通常在使用 `GRANT` 语句创建用户时通过 `WITH` 子句设置。

GRANT ... ON *.* TO 'user'@'host'

WITH MAX_QUERIES_PER_HOUR 100

     MAX_UPDATES_PER_HOUR 30;

点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)