mysql数据库基础管理--数据库权限表

article/2025/10/25 8:26:54

mysql数据库通过权限表实现对mysql数据库的访问,权限表存放在mysql数据库中,有脚本 

mysql_install_db初始化。

存储账户权限表主要 USER,DB,HOST,TABLES_PRIV,COLUMNS_PRIV和PROCS_PRIV.

mysql.USER

记录允许连接到数据库的用户信息,里面的权限是全局级的。例如一个用户有update权限,则该用户可以update所有数据库中的任何记录。

mysql> show tables like '%user%';
+--------------------------+
| Tables_in_mysql (%user%) |
+--------------------------+
| user                     |
+--------------------------+
1 row in set (0.00 sec)

mysql> show full tables like '%user%';
+--------------------------+------------+
| Tables_in_mysql (%user%) | Table_type |
+--------------------------+------------+
| user                     | BASE TABLE |
+--------------------------+------------+
1 row in set (0.00 sec)

mysql> desc mysql.user;
+--------------------------+-----------------------------------+------+-----+-----------------------+-
------+
| Field                    | Type                              | Null | Key | Default               |
Extra |
+--------------------------+-----------------------------------+------+-----+-----------------------+-
------+
| Host                     | char(255)                         | NO   | PRI |                       |
      |
| User                     | char(32)                          | NO   | PRI |                       |
      |
| Select_priv              | enum('N','Y')                     | NO   |     | N                     |
      |
| Insert_priv              | enum('N','Y')                     | NO   |     | N                     |
      |
| Update_priv              | enum('N','Y')                     | NO   |     | N                     |
      |
| Delete_priv              | enum('N','Y')                     | NO   |     | N                     |
      |
| Create_priv              | enum('N','Y')                     | NO   |     | N                     |
      |
| Drop_priv                | enum('N','Y')                     | NO   |     | N                     |
      |
| Reload_priv              | enum('N','Y')                     | NO   |     | N                     |
      |
| Shutdown_priv            | enum('N','Y')                     | NO   |     | N                     |
      |
| Process_priv             | enum('N','Y')                     | NO   |     | N                     |
      |
| File_priv                | enum('N','Y')                     | NO   |     | N                     |
      |
| Grant_priv               | enum('N','Y')                     | NO   |     | N                     |
      |
| References_priv          | enum('N','Y')                     | NO   |     | N                     |
      |
| Index_priv               | enum('N','Y')                     | NO   |     | N                     |
      |
| Alter_priv               | enum('N','Y')                     | NO   |     | N                     |
      |
| Show_db_priv             | enum('N','Y')                     | NO   |     | N                     |
      |
| Super_priv               | enum('N','Y')                     | NO   |     | N                     |
      |
| Create_tmp_table_priv    | enum('N','Y')                     | NO   |     | N                     |
      |
| Lock_tables_priv         | enum('N','Y')                     | NO   |     | N                     |
      |
| Execute_priv             | enum('N','Y')                     | NO   |     | N                     |
      |
| Repl_slave_priv          | enum('N','Y')                     | NO   |     | N                     |
      |
| Repl_client_priv         | enum('N','Y')                     | NO   |     | N                     |
      |
| Create_view_priv         | enum('N','Y')                     | NO   |     | N                     |
      |
| Show_view_priv           | enum('N','Y')                     | NO   |     | N                     |
      |
| Create_routine_priv      | enum('N','Y')                     | NO   |     | N                     |
      |
| Alter_routine_priv       | enum('N','Y')                     | NO   |     | N                     |
      |
| Create_user_priv         | enum('N','Y')                     | NO   |     | N                     |
      |
| Event_priv               | enum('N','Y')                     | NO   |     | N                     |
      |
| Trigger_priv             | enum('N','Y')                     | NO   |     | N                     |
      |
| Create_tablespace_priv   | enum('N','Y')                     | NO   |     | N                     |
      |
| ssl_type                 | enum('','ANY','X509','SPECIFIED') | NO   |     |                       |
      |
| ssl_cipher               | blob                              | NO   |     | NULL                  |
      |
| x509_issuer              | blob                              | NO   |     | NULL                  |
      |
| x509_subject             | blob                              | NO   |     | NULL                  |
      |
| max_questions            | int unsigned                      | NO   |     | 0                     |
      |
| max_updates              | int unsigned                      | NO   |     | 0                     |
      |
| max_connections          | int unsigned                      | NO   |     | 0                     |
      |
| max_user_connections     | int unsigned                      | NO   |     | 0                     |
      |
| plugin                   | char(64)                          | NO   |     | caching_sha2_password |
      |
| authentication_string    | text                              | YES  |     | NULL                  |
      |
| password_expired         | enum('N','Y')                     | NO   |     | N                     |
      |
| password_last_changed    | timestamp                         | YES  |     | NULL                  |
      |
| password_lifetime        | smallint unsigned                 | YES  |     | NULL                  |
      |
| account_locked           | enum('N','Y')                     | NO   |     | N                     |
      |
| Create_role_priv         | enum('N','Y')                     | NO   |     | N                     |
      |
| Drop_role_priv           | enum('N','Y')                     | NO   |     | N                     |
      |
| Password_reuse_history   | smallint unsigned                 | YES  |     | NULL                  |
      |
| Password_reuse_time      | smallint unsigned                 | YES  |     | NULL                  |
      |
| Password_require_current | enum('N','Y')                     | YES  |     | NULL                  |
      |
| User_attributes          | json                              | YES  |     | NULL                  |
      |
+--------------------------+-----------------------------------+------+-----+-----------------------+-
------+
51 rows in set (0.00 sec)
 

用户列

用户列包括host,user,password字段,分别表示主机,用户名,密码。修改用户密码实际就是修改password字段。

权限列

权限列字段决定了用户的权限,描述了在全局范围内允许对数据库进行的操作,包括查询、修改、关闭数据库、超级权限、和加载用户等高级权限,普通权限用于数据库操作数据库,高级权限用于数据库管理。(复制权限)

安全列

SSL用于加密,X509标准用于标识用户,PLUGIN字段用于验证用户身份的插件

mysql> show variables like '%openssl%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl  | YES   |
+---------------+-------+
1 row in set, 1 warning (0.00 sec)

查询是否支持SSL

资源控制列

max_questions用户每小时允许执行查询次数。

max_updates用户每小时允许执行的更新次数

max_connections用户每小时允许执行连接的操作次数

max_user_connections用户允许同时建立连接次数

可以使用grant语句更新这些字段值。

grant usage on *.* TO USER1@LOCAHOST MAX_USER_CONNECTIONS 200;

DB表和host表

db表和host表示mysql数据中重要的权限表,db表存储了用户对某个数据库的操作权限。

mysql> desc mysql.db;
+-----------------------+---------------+------+-----+---------+-------
| Field                 | Type          | Null | Key | Default | Extra
+-----------------------+---------------+------+-----+---------+-------
| Host                  | char(255)     | NO   | PRI |         |
| Db                    | char(64)      | NO   | PRI |         |
| User                  | char(32)      | NO   | PRI |         |
| Select_priv           | enum('N','Y') | NO   |     | N       |
| Insert_priv           | enum('N','Y') | NO   |     | N       |
| Update_priv           | enum('N','Y') | NO   |     | N       |
| Delete_priv           | enum('N','Y') | NO   |     | N       |
| Create_priv           | enum('N','Y') | NO   |     | N       |
| Drop_priv             | enum('N','Y') | NO   |     | N       |
| Grant_priv            | enum('N','Y') | NO   |     | N       |
| References_priv       | enum('N','Y') | NO   |     | N       |
| Index_priv            | enum('N','Y') | NO   |     | N       |
| Alter_priv            | enum('N','Y') | NO   |     | N       |
| Create_tmp_table_priv | enum('N','Y') | NO   |     | N       |
| Lock_tables_priv      | enum('N','Y') | NO   |     | N       |
| Create_view_priv      | enum('N','Y') | NO   |     | N       |
| Show_view_priv        | enum('N','Y') | NO   |     | N       |
| Create_routine_priv   | enum('N','Y') | NO   |     | N       |
| Alter_routine_priv    | enum('N','Y') | NO   |     | N       |
| Execute_priv          | enum('N','Y') | NO   |     | N       |
| Event_priv            | enum('N','Y') | NO   |     | N       |
| Trigger_priv          | enum('N','Y') | NO   |     | N       |
+-----------------------+---------------+------+-----+---------+-------
22 rows in set (0.00 sec)

用户列:

表示从某个主机连接的某个用户对某个数据库的操作权限。

| %    | mysql | test2 | Y

table_privs和columns_privs表

用户表示对表和列的操作权限,

用户值得的是什么 用户名@主机名。


http://chatgpt.dhexx.cn/article/Qc3au7DT.shtml

相关文章

1、user权限表详解

MySQL 在安装时会自动创建一个名为 mysql 的数据库,mysql 数据库中存储的都是用户权限表。用户登录以后,MySQL 会根据这些权限表的内容为每个用户赋予相应的权限。 user 表是 MySQL 中最重要的一个权限表,用来记录允许连接到服务器的账号信息…

MySQL中用户权限、库权限、表权限的控制

MySQL中用户权限、库权限、表权限的控制 在开发中,除了可以在脚本代码中控制开发者对MySQL数据库数据表的权限,还可以在mysql层面进行控制。 对mysql的权限的控制可以大致分为三个层面:①连接上允不允许(是否能登录到mysql服务器…

数据库表设计1:用户权限管理

前言:权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同用户访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题。 1、RBAC简介 RBAC&#xff0…

用户、角色、权限表的关系(mysql)

一,各个表格 1、用户表 CREATE TABLE t_user ( id varchar(40) NOT NULL, username varchar(20) NOT NULL, PRIMARY KEY (id) ) 2、角色表 CREATE TABLE t_role ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(20) NOT NULL, description varchar(255) DEFAUL…

MySQL 权限管理表设计

阅读目录 MySQL 权限管理表设计创建三张主表三张表添加数据创建两张关系表两张表添加数据关联查询1 查询刘德华的角色2 查询苹果游客这个角色对应的用户是谁?3 查询总管理员的权限有哪些?4 查询苹果浏览权限对应的角色有哪些?5 查询刘德华的权限有哪些?6 查询杨幂的权限有哪…

权限管理数据表设计

权限管理数据表的设计 需要五张表,分别为(此处以MySQL为例) 用户表 t_user 角色表t_role权限表t_permission用户角色表t_user_rolet角色权限表t_role_permission 用户拥有什么角色,这个角色拥有什么权限 用户表(t_u…

用户权限设置5张表

--权限表(资源和权限合并) CREATE TABLE sys_permission ( id number(20) PRIMARY KEY NOT NULL,-- COMMENT 主键, name varchar2(128) NOT NULL , --COMMENT 资源名称, type varchar2(32) NOT NULL, -- COMMENT 资源类型:men…

MySQL权限表

一、权限系统概述 安装MySQL时自动安装一个名为mysql的数据库。mysql数据库下面存储的都是权限表。 用户登录以后,MySQL数据库系统会根据这些权限表的内容为每个用户赋予相应的权限。这些权限表中最重要的是user表、db表和host表,除此之外,还…

权限管理用到的表

前言: 一个成熟的系统系统是离不开权限管理的,说权限管理就必须要说下权限管理经典的五张表了,无论是自定义的权限管理框架,还是流行的Shiro、SpringSecurity等权限管理框架都是离不开这五张表的,哪五张表呢&#xff0…

表设计之权限管理

分析 权限管理需要设计三张主表和两张关系表主表包括:用户表,角色表,权限表关系表:用户-角色关系表,角色权限关系表 建表准备数据 创建三张主表: 用户表, 角色表,权限表 create table user(id int primary key auto_increment, name varchar(20));create table role(id int p…

表设计----用户表,角色表,权限表

基于角色的访问控制:(java Web 编程口诀) 用户表角色表,用户角色中间表。 角色表权限表,角色权限中间表。 一个用户可有多个角色,一个角色又可有多个权限。这就是用户-角色-权限授权的模型。 为何不直接让…

用户·角色·权限·表

一.引言 因为做过的一些系统的权限管理的功能虽然在逐步完善,但总有些不尽人意的地方,总想抽个时间来更好的思考一下权限系统的设计。 权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新对系统的权限进行设…

用户·角色·权限·表的设计

设计一个灵活、通用、方便的权限管理系统。 在这个系统中,我们需要对系统的所有资源进行权限控制,那么系统中的资源包括哪些呢?我们可以把这些资源简单概括为静态资源(功能操作、数据列)和动态资源(数据&am…

MySQL - 权限表

目录 User表 1.范围列(或用户列) host : 表示连接类型 user : 表示用户名,同一用户通过不同方式链接的权限是不一样的。 password : 密码 2.权限列 Grant_priv Shutdown_priv Super_priv Execut…

基于matlab的自适应PSO优化算法仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 粒子群优化算法(PSO),粒子群中的每一个粒子都代表一个问题的可能解, 通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。…

标准PSO辨识NARMAX模型源码程序

% 用标准PSO辨识NARMAX模型 % y[-0.4 0.2 0.4 0.8 0.2 0.3]*... % [y0(k-1) y0(k-2)*y0(k-3) y0(k-4) u(k-1)^3 y0(k-2)^2 u(k-3)] % e(k) % function [iter,Xgbest,fgbest]sPso(err,var,Nc_max) clc,clear,format long %--------------------------------------------------…

粒子群算法PSO

文章目录 粒子群算法PSO1. 简介1.1 简介和背景 2. 算法2.1 参数介绍2.2 流程速度更新公式位置更新公式 2.3 应用 3. 代码3.1 matlab一维的二维的 3.2 python 粒子群算法PSO 1. 简介 1.1 简介和背景 起源:1995年,受到鸟群觅食行为的规律性启发&#xf…

运动控制器PSO位置同步输出(二):PSO模式详解

本节我们主要去讲解一下多种PSO模式原理和使用的讲解,用户可根据实际需求灵活选择触发模式。 一.硬件说明 硬件选型的首要要求是支持PSO功能,再分析PSO的应用场合和轴数等选择具体的型号。本例以ZMC460N双总线运动控制器为例展开介绍。 PSO功能用于控制…

进化算法之粒子群算法介绍附代码——PSO

粒子群算法PSO 背景介绍算法介绍鸟群觅食算法&鸟群重点 算法介绍简单概念大致流程核心流程 核心公式公式拆解 算法的伪代码PSO的应用场景 背景介绍 算法介绍 粒子群算法,英文全称为Partricle Swarm Optimization,所以简称为PSO算法,它是…

粒子群算法PSO求解最大值和最小值案例(超详细注释)

目录 前言 1.粒子群算法简介和难点理解 1.1概念理解 ①非劣解集和支配 ②个体极值和群体极值 ③个体适应度值和群体适应度值 1.2 算法流程和理解 1.3 速度和位置更新公式 1.4 rand、randn、rands、randi函数说明 2. 粒子群算法求解最大值问题 2.1 常数惯性权重因子求…