当前位置: 首页 > article >正文

MySQL系统库——mysql库

mysql库

  • mysql库是什么?
  • 储存用户信息和权限的表:
    • user表
    • db表
    • tables_priv表
    • column_priv表
    • 运行规律:

mysql库是什么?

MySQL库是MySQL服务器内置的一个特殊的数据库。它包含了用于管理和控制MySQL服务器的系统表和系统变量。MySQL库存储着数据库服务器和用户账户的权限信息,以及其他数据库服务器的系统配置信息。通过操作MySQL库,可以进行用户管理、权限管理、系统配置等操作。

储存用户信息和权限的表:

除去一些系统变量,我们可以关注有关于用户权限的四个表,它们分别是user,db,table_priv,column_peiv。

user表

user表被称为全局权限表,也就是说对数据库服务器中的所有数据库都有该权限。
user表中不仅记录了用户的权限,还记录了用户名及密码(有些版本可能会有不同),这也就意味着user表还承担着在登陆时核对用户名和密码的职责。
表中具体有下面的内容:

Host:存储用户账户允许登录的主机名或IP地址。
User:存储用户账户的用户名。
Password:存储用户账户的密码。
Select_priv:存储用户账户是否具有SELECT权限。
Insert_priv:存储用户账户是否具有INSERT权限。
Update_priv:存储用户账户是否具有UPDATE权限。
Delete_priv:存储用户账户是否具有DELETE权限。
Create_priv:存储用户账户是否具有CREATE权限。
Drop_priv:存储用户账户是否具有DROP权限。
Grant_priv:存储用户账户是否具有GRANT权限。
Revoke_priv:存储用户账户是否具有REVOKE权限。

db表

db表被我们称为数据库级别的权限表,其中的权限针对的是某一个数据库,权限内容与user中的权限内容相似:

Host:存储用户账户允许访问的主机名或IP地址。
Db:存储数据库名。
User:存储用户账户名。
Select_priv:存储用户账户是否具有SELECT权限。
Insert_priv:存储用户账户是否具有INSERT权限。
Update_priv:存储用户账户是否具有UPDATE权限。
Delete_priv:存储用户账户是否具有DELETE权限。
Create_priv:存储用户账户是否具有CREATE权限。
Drop_priv:存储用户账户是否具有DROP权限。
Grant_priv:存储用户账户是否具有GRANT权限。
Index_priv:存储用户账户是否具有索引权限。
Alter_priv:存储用户账户是否具有ALTER权限。
Create_tmp_table_priv:存储用户账户是否具有创建临时表的权限。
Lock_tables_priv:存储用户账户是否具有锁定表的权限。
Create_view_priv:存储用户账户是否具有创建视图的权限。
Show_view_priv:存储用户账户是否具有显示视图的权限。
Create_routine_priv:存储用户账户是否具有创建存储过程和函数的权限。
Alter_routine_priv:存储用户账户是否具有修改存储过程和函数的权限。
Execute_priv:存储用户账户是否具有执行存储过程的权限。
Event_priv:存储用户账户是否具有创建、修改和删除事件的权限。
Trigger_priv:存储用户账户是否具有创建、修改和删除触发器的权限。

tables_priv表

tables_priv表用于存储用户对表的权限信息。它记录了用户对数据库中表的表级别的权限:

Host:表示用户所属的主机名。
Db:表示数据库名。
User:表示用户名。
Table_name:表示表名。
Grantor:表示授予权限的用户。
Timestamp:表示权限修改的时间戳。
Table_priv:表示用户对表的权限信息,以逗号分隔,类似于SELECT,INSERT,UPDATE等。

column_priv表

column_priv表被我们称为字段表,决定了用户可以访问和操作哪些字段,表中的主要内容与user中的权限相似:

Host:存储列所属的表所在的主机名或IP地址。
Db:存储列所属的表所在的数据库名。
User:存储列所属的表所属的用户账户名。
Table_name:存储列所属的表名。
Column_name:存储列的名称。
Column_type:存储列的数据类型。
Column_key:存储列是否是主键,如果是则为PRI,否则为’'。
Extra:存储列的额外信息,如是否自增、默认值等。
Column_priv:存储列相关的权限信息。

运行规律:

从上面的叙述中我们可以了解到,每个表所记载的权限的范围(也被称为权限的高低)不同,在实际的操作过程中,计算机会优先访问user表,如果user表中的某一个权限为Y,则针对该权限不再需要访问其他表,如果为N,则访问下一级的表。


http://www.kler.cn/a/299915.html

相关文章:

  • ansible一键安装nginx二进制版本
  • Postman接口测试工具详解
  • mac 配置 python 环境变量
  • 聊一聊 CSS 样式的导入方式
  • docker: Device or resource busy
  • 当 Facebook 窥探隐私:用户的数字权利如何捍卫?
  • 一些硬件知识(二十二)
  • MDK编译过程、文件及_attribute__关键字
  • 常见的ROM(只读存储器)及其区别(超详细)
  • 探索深度学习的奥秘:从理论到实践的奇幻之旅
  • NPU是什么?特点及应用
  • 系统分析师--企业信息化战略与实施
  • LeetCode 61. 旋转链表
  • openeuler-无法dnf安装包问题
  • electron: 将网址打包成exe桌面应用
  • Android Dialog:Dialog和DialogFragment的区别?DialogFragment如何使用?源码解析
  • 解锁10款超棒的图表制作软件,让数据可视化不再困难
  • leetcode 994.腐烂的橘子
  • Django-Celery-Flower实现异步和定时爬虫及其监控邮件告警
  • 【HCIA-Datacom】数据通信网络基础
  • CSS“多列布局”(补充)——WEB开发系列35
  • 网络层 VII(IP多播、移动IP)【★★★★★★】
  • 【C++】——string
  • 揭开面纱--机器学习
  • Ubuntu创建一个虚拟摄像头
  • 【区块链 + 基层治理】链动社区:基于 FISCO BCOS 的智慧社区数字化治理平台 | FISCO BCOS应用案例