搜索
首页常见问题mysql数据库权限表有哪些

mysql数据库权限表有哪些

Jun 15, 2023 am 09:27 AM
mysql

MySQL数据库权限表有:1、user表,用来记录允许连接到服务器的账号信息,该表里启用的所有权限都是全局级的,适用于所有数据库;2、db表,存储了用户对某个数据库的操作权限;3、tables_priv表,用来对单个表进行权限设置;4、columns_priv表,用来对单个数据列进行权限设置;5、procs_priv表,用于对存储过程和存储函数进行权限设置。

mysql数据库权限表有哪些

本教程操作系统:Windows10系统、mysql 8.0版本、Dell G3电脑。

在 MySQL 数据库中,权限表有user 表、db 表、tables_priv 表、columns_priv 表和 procs_priv 表。

一、user权限表

user 表是 MySQL 中最重要的一个权限表,用来记录允许连接到服务器的账号信息。需要注意的是,在 user 表里启用的所有权限都是全局级的,适用于所有数据库。

user 表中的字段大致可以分为 4 类,分别是用户列、权限列、安全列和资源控制列。

用户列

用户列存储了用户连接 MySQL 数据库时需要输入的信息。需要注意的是 MySQL 5.7 版本不再使用 Password 来作为密码的字段,而改成了 authentication_string。

权限列

权限列的字段决定了用户的权限,用来描述在全局范围内允许对数据和数据库进行的操作。

权限大致分为两大类,分别是高级管理权限和普通权限:

  • 高级管理权限主要对数据库进行管理,例如关闭服务的权限、超级权限和加载用户等;

  • 普通权限主要操作数据库,例如查询权限、修改权限等。

user 表的权限列包括 Select_priv、Insert_ priv 等以 priv 结尾的字段,这些字段值的数据类型为 ENUM,可取的值只有 Y 和 N:Y 表示该用户有对应的权限,N 表示该用户没有对应的权限。从安全角度考虑,这些字段的默认值都为 N。

如果要修改权限,可以使用 GRANT 语句为用户赋予一些权限,也可以通过 UPDATE 语句更新 user 表的方式来设置权限。

安全列

安全列主要用来判断用户是否能够登录成功,user 表中的安全列如下表所示:

user 表的安全列
字段名 字段类型 是否为空 默认值 说明
ssl_type enum('','ANY','X509','SPECIFIED') NO
支持ssl标准加密安全字段
ssl_cipher blob NO
支持ssl标准加密安全字段
x509_issuer blob NO
支持x509标准字段
x509_subject blob NO
支持x509标准字段
plugin char(64) NO mysql_native_password 引入plugins以进行用户连接时的密码验证,plugin创建外部/代理用户
password_expired enum('N','Y') NO N 密码是否过期 (N 未过期,y 已过期)
password_last_changed timestamp YES
记录密码最近修改的时间
password_lifetime smallint(5) unsigned YES
设置密码的有效时间,单位为天数
account_locked enum('N','Y') NO N 用户是否被锁定(Y 锁定,N 未锁定)

注意:即使 password_expired 为“Y”,用户也可以使用密码登录 MySQL,但是不允许做任何操作。

通常标准的发行版不支持 ssl,读者可以使用 SHOW VARIABLES LIKE "have_openssl" 语句来查看是否具有 ssl 功能。如果 have_openssl 的值为 DISABLED,那么则不支持 ssl 加密功能。

资源控制列

资源控制列的字段用来限制用户使用的资源,user 表中的资源控制列如表 4 所示。

user 表的资源控制列
字段名 字段类型 是否为空 默认值 说明
max_questions int(11) unsigned NO 0 规定每小时允许执行查询的操作次数
max_updates int(11) unsigned NO 0 规定每小时允许执行更新的操作次数
max_connections int(11) unsigned NO 0 规定每小时允许执行的连接操作次数
max_user_connections int(11) unsigned NO 0 规定允许同时建立的连接次数

以上字段的默认值为 0,表示没有限制。一个小时内用户查询或者连接数量超过资源控制限制,用户将被锁定,直到下一个小时才可以在此执行对应的操作。可以使用 GRANT 语句更新这些字段的值。

二、db表

db 表比较常用,是 MySQL 数据库中非常重要的权限表,表中存储了用户对某个数据库的操作权限。表中的字段大致可以分为两类,分别是用户列和权限列。

用户列

db 表用户列有 3 个字段,分别是 Host、User、Db,标识从某个主机连接某个用户对某个数据库的操作权限,这 3 个字段的组合构成了 db 表的主键。

db 表的用户列如下表所示:

字段名 字段类型 是否为空 默认值 说明
Host char(60) NO 主机名
Db char(64) NO 数据库名
User char(32) NO 用户名

权限列

db 表中的权限列和 user 表中的权限列大致相同,只是user 表中的权限是针对所有数据库的,而 db 表中的权限只针对指定的数据库。如果希望用户只对某个数据库有操作权限,可以先将 user 表中对应的权限设置为 N,然后在 db 表中设置对应数据库的操作权限。

三、tables_priv表

tables_priv 表用来对单个表进行权限设置,tables_priv 表结构如下表所示:

字段名 字段类型 是否为空 默认值 说明
Host char(60) NO 主机
Db char(64) NO 数据库名
User char(32) NO 用户名
Table_name char(64) NO 表名
Grantor char(93) NO 修改该记录的用户
Timestamp timestamp NO CURRENT_TIMESTAMP 修改该记录的时间
Table_priv set('Select','Insert','Update','Delete','
Create','Drop','Grant','References',
'Index','Alter','Create View','Show view','Trigger')
NO 表示对表的操作权限,包括 Select、Insert、Update、Delete、Create、Drop、Grant、References、Index 和 Alter 等
Column_priv set('Select','Insert','Update','References') NO 表示对表中的列的操作权限,包括 Select、Insert、Update 和 References

四、columns_priv表

columns_priv 表用来对单个数据列进行权限设置,columns_priv 表结构如下表所示:

字段名 字段类型 是否为空 默认值 说明
Host char(60) NO 主机
Db char(64) NO 数据库名
User char(32) NO 用户名
Table_name char(64) NO 表名
Column_name char(64) NO 数据列名称,用来指定对哪些数据列具有操作权限
Timestamp timestamp NO CURRENT_TIMESTAMP 修改该记录的时间
Column_priv set('Select','Insert','Update','References') NO 表示对表中的列的操作权限,包括 Select、Insert、Update 和 References

五、procs_priv表

procs_priv 表可以对存储过程和存储函数进行权限设置,procs_priv 的表结构如表所示:

字段名 字段类型 是否为空 默认值 说明
Host char(60) NO 主机名
Db char(64) NO 数据库名
User char(32) NO 用户名
Routine_name char(64) NO 表示存储过程或函数的名称
Routine_type enum('FUNCTION','PROCEDURE') NO 表示存储过程或函数的类型,Routine_type 字段有两个值,分别是 FUNCTION 和 PROCEDURE。FUNCTION 表示这是一个函数;PROCEDURE 表示这是一个
存储过程。
Grantor char(93) NO 插入或修改该记录的用户
Proc_priv set('Execute','Alter Routine','Grant') NO 表示拥有的权限,包括 Execute、Alter Routine、Grant 3种
Timestamp timestamp NO CURRENT_TIMESTAMP 表示记录更新时间

以上是mysql数据库权限表有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
deepseek网页版官方入口deepseek网页版官方入口Mar 12, 2025 pm 01:42 PM

国产AI黑马DeepSeek强势崛起,震撼全球AI界!这家成立仅一年半的中国人工智能公司,凭借其免费开源的大模型DeepSeek-V3和DeepSeek-R1,在性能上与OpenAI等国际巨头比肩,甚至在成本控制方面实现了突破性进展,赢得了全球用户的广泛赞誉。DeepSeek-R1现已全面上线,性能媲美OpenAIo1正式版!您可以在网页端、APP以及API接口体验其强大的功能。下载方式:支持iOS和安卓系统,用户可通过应用商店下载;网页版也已正式开放!DeepSeek网页版官方入口:ht

deepseek服务器繁忙怎么解决deepseek服务器繁忙怎么解决Mar 12, 2025 pm 01:39 PM

DeepSeek:火爆AI遭遇服务器拥堵,如何应对?DeepSeek作为2025年开年爆款AI,免费开源且性能媲美OpenAIo1正式版,其受欢迎程度可见一斑。然而,高并发也带来了服务器繁忙的问题。本文将分析原因并提供应对策略。DeepSeek网页版入口:https://www.deepseek.com/DeepSeek服务器繁忙的原因:高并发访问:DeepSeek的免费和强大功能吸引了大量用户同时使用,导致服务器负载过高。网络攻击:据悉,DeepSeek对美国金融界造成冲击,

深度求索deepseek官网入口深度求索deepseek官网入口Mar 12, 2025 pm 01:33 PM

2025年开年,国产AI“深度求索”(deepseek)惊艳亮相!这款免费开源的AI模型,性能堪比OpenAI的o1正式版,并已在网页端、APP和API全面上线,支持iOS、安卓和网页版多端同步使用。深度求索deepseek官网及使用指南:官网地址:https://www.deepseek.com/网页版使用步骤:点击上方链接进入deepseek官网。点击首页的“开始对话”按钮。首次使用需进行手机验证码登录。登录后即可进入对话界面。deepseek功能强大,可进行代码编写、文件读取、创

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。