首页
学习
活动
专区
圈层
工具
发布

mysql权限表设计管理

MySQL 权限表设计管理

基础概念

MySQL 的权限系统是通过一系列的权限表来实现的,这些表主要存储在 mysql 数据库中。主要的权限表包括:

  • user 表:存储用户账户信息和全局权限。
  • db 表:存储数据库级别的权限。
  • tables_priv 表:存储表级别的权限。
  • columns_priv 表:存储列级别的权限。
  • procs_priv 表:存储存储过程和函数的权限。

相关优势

  1. 细粒度权限控制:MySQL 允许对用户进行非常细粒度的权限控制,从全局级别到数据库、表、列甚至存储过程和函数。
  2. 灵活性:可以根据需要为不同的用户或用户组分配不同的权限。
  3. 安全性:通过严格的权限管理,可以有效防止未授权的访问和操作。

类型

MySQL 的权限类型主要包括以下几种:

  • SELECT:允许查询表中的数据。
  • INSERT:允许向表中插入新数据。
  • UPDATE:允许更新表中的数据。
  • DELETE:允许删除表中的数据。
  • CREATE:允许创建新的数据库和表。
  • DROP:允许删除数据库和表。
  • GRANT OPTION:允许用户授予或撤销其他用户的权限。

应用场景

  1. 多用户环境:在多用户环境下,需要对不同用户进行不同的权限控制,以确保数据的安全性和完整性。
  2. 开发与测试环境:在开发和测试环境中,可能需要为不同的开发人员或测试人员分配不同的权限,以便他们能够执行特定的任务。
  3. 生产环境:在生产环境中,严格的权限管理可以防止未授权的访问和操作,确保系统的稳定性和安全性。

常见问题及解决方法

问题1:如何为用户分配权限?

解决方法:

代码语言:txt
复制
-- 创建用户
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

-- 授予权限
GRANT SELECT, INSERT ON mydb.* TO 'newuser'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

问题2:如何撤销用户的权限?

解决方法:

代码语言:txt
复制
-- 撤销权限
REVOKE SELECT, INSERT ON mydb.* FROM 'newuser'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

问题3:如何查看用户的权限?

解决方法:

代码语言:txt
复制
-- 查看用户权限
SHOW GRANTS FOR 'newuser'@'localhost';

问题4:如何修改用户密码?

解决方法:

代码语言:txt
复制
-- 修改用户密码
ALTER USER 'newuser'@'localhost' IDENTIFIED BY 'newpassword';

参考链接

通过以上内容,您可以全面了解 MySQL 权限表的设计和管理,包括基础概念、优势、类型、应用场景以及常见问题的解决方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

rbac权限管理设计 7表_数据库角色权限表设计

有些权限设计,会把功能操作作为一类,而把文件、菜单、页面元素等作为另一类,这样构成“用户-角色-权限-资源”的授权模型。...powerdesigen设计图如下: 权限表与权限菜单关联表、权限菜单关联表与菜单表都是一对一的关系。(文件、页面权限点、功能操作等同理)。...这样,可以不需要权限菜单关联表,让权限表与菜单表直接关联,此时,须在权限表中新增一列用来保存菜单的ID,权限表通过“权限类型”和这个ID来区分是种类型下的哪条记录。 权限表和功能操作表多对多的关系。...请留意权限表中有一列“权限类型”,我们根据它的取值来区分是哪一类权限,如“MENU”表示菜单的访问权限、“OPERATION”表示功能模块的操作权限、“FILE”表示文件的修改权限、“ELEMENT”表示页面元素的可见性控制等...总的设计图: 实际项目中我们涉及到的权限。

7.8K20

用户表的设计_角色和权限管理数据表设计

基于角色的访问控制:(java Web 编程口诀) 用户表角色表,用户角色中间表。 角色表权限表,角色权限中间表。 ---- ---- 一个用户可有多个角色,一个角色又可有多个权限。...这就是用户-角色-权限授权的模型。 为何不直接让用户对应权限? 角色=一定数量的权限集合 将特定用户的权限封装到一个角色。 封装,或者面向对象设计的体现。...都属于权限控制范畴。 有些权限设计将功能操作作为一个类型,把文件菜单页面元素等作为另外一个类型,这就是用户-权限-资源的授权模型。...相关sql可参考: 用户、角色、权限表的关系(mysql)_harbor1981的博客-CSDN博客_数据库用户和角色的关系 https://blog.csdn.net/harbor1981/article.../details/78149203 关于各种表的字段可参考: 用户·角色·权限·表的设计 – oo_o – 博客园 (cnblogs.com) https://www.cnblogs.com/oo_o/

2.7K20
  • 权限表的设计

    有些权限设计,会把功能操作作为一类,而把文件、菜单、页面元素等作为另一类,这样构成“用户-角色-权限-资源”的授权模型。...操作的权限: 功能,cred 菜单的访问 页面按钮的点击 内容: 图片的可见性 菜单的可见 按钮的可见 这些都是基本的权限。 powerdesigen设计图如下: ?...权限表与权限菜单关联表、权限菜单关联表与菜单表都是一对一的关系。(文件、页面权限点、功能操作等同理)。也就是每添加一个菜单,就得同时往这三个表中各插入一条记录。...这样,可以不需要权限菜单关联表,让权限表与菜单表直接关联,此时,须在权限表中新增一列用来保存菜单的ID,权限表通过“权限类型”和这个ID来区分是种类型下的哪条记录。 权限表和功能操作表多对多的关系。...总的设计图: ? 实际项目中我们涉及到的权限。 菜单权限,按钮操作性等 参考文献: http://blog.csdn.net/painsonline/article/details/7183613/

    3.6K30

    MySQL周期表管理的设计

    这是学习笔记的第 2038 篇文章 关于MySQL周期表管理,近期做了初步的设计,总体上是希望把周期表的管理和业务同学对接起来,实现流程化的管理。...对于周期表的数据管理,能够实现数据的批量管理,也可以对接到大数据中实现数据分析,并通过巡检任务对接,让整个流程动起来。 ?...对于整体的设计方面,需要开发后端的API,API列表如下: 周期表列表 周期表创建 周期表属性变更 周期表批量变更接口 周期表数据清理接口 巡检任务 大数据提取接口 即时通讯提醒接口 对于模型的设计是重中之重...,也能够决定我们的周期表管理的存储设计优劣。...周期表变化历史记录 Mysql_cycle_table_inspection_log 模型详细设计如下: Mysql_dailytable id ip_addr db_port db_name Operator_method

    2.1K30

    Mysql权限管理

    前言 公司的mysql权限管理还算是比较的严格,每个数据库只有与之对应的用户有读写权限,而我在本地启动项目的时候,每次都要修改配置文件中的数据库连接,用户名,密码. 太麻烦了....因此我将线上mysql的host映射到127.0.0.1,给本地的mysql添加所有的用户,这样我就可以不用修改配置文件啦!(建议大家也进行权限管理,每个数据库单独账号读写)....修改完之后决定学习一下mysql的权限管理,记录一下方便后续查找. 为什么要进行权限管理 当然是为了安全,防止删库跑路这样的事情,或者程序员的手抖....mysql都有那些权限 这里引用官网上的一个表格来说明: 权限分布 具体权限 表权限 ‘Select’, ‘Insert’, ‘Update’, ‘Delete’, ‘Create’, ‘Drop’,...修改mysql中的user表 在命令行连接上mysql之后,显示所有的数据库,连接mysql数据库,查看其中的user表,然后查看user表的字段类型. ? 可以看到其中的字段代表的意义以及可取值.

    2.8K20

    MySQL权限表_mysql可以授予列增删改权限

    一、权限系统概述 安装MySQL时自动安装一个名为mysql的数据库。mysql数据库下面存储的都是权限表。 用户登录以后,MySQL数据库系统会根据这些权限表的内容为每个用户赋予相应的权限。...在MySQL数据库系统中,权限分配是按照user表>db表>table_pric表>columns_priv表的顺序来分配的。...二、MySQL访问权限系统工作原理 1、功能:MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的SELECT、INSERT、UPDATE和DELETE权限。...2、原理   当你连接MySQL数据库时,你的身份由你从那儿连接的主机和你指定的用户名来决定,连接后发出请求,系统根据你的身份和你想做什么来授予权限。   user表用户列是否允许或拒绝到来的连接。...对于允许的连接,user表授予的权限指出用户的全局(超级用户)权限。这些权限适用于服务器上的所有数据库。   db表用户列决定用户能从哪个主机存储数据库。权限列决定允许哪个操作。

    4.2K20

    零售商贩mysql表设计:banner管理表

    作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 banner管理表(轮播图管理表) 解析字段: id解析: name解析: `description...数据 ---- banner管理表(轮播图管理表) CREATE TABLE `banner` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar...可为NULL 的列会使用更多的存储空间 ,在 MySQL 里也需要特殊处理 。...InnoDB 被设计对于CPU效率和最大性能 当处理大量数据时 InnoDB 表可以处理大量的数据,即使操作系统 文件限制为2GB CHARSET=utf8mb4 这是字符集 数据 (banner子项表...InnoDB 被设计对于CPU效率和最大性能 当处理大量数据时 InnoDB 表可以处理大量的数据,即使操作系统 文件限制为2GB CHARSET=utf8mb4 这是字符集 数据 图片 上图的

    1.4K10

    MySQL权限管理实战!

    前言: 不清楚各位同学对数据库用户权限管理是否了解,作为一名 DBA ,用户权限管理是绕不开的一项工作内容。特别是生产库,数据库用户权限更应该规范管理。...本篇文章将会介绍下 MySQL 用户权限管理相关内容。 1.用户权限简介 当我们创建过数据库用户后,还不能执行任何操作,需要为该用户分配适当的访问权限。...在 MySQL 中,用户权限也是分级别的,可以授予的权限有如下几组: 列级别,和表中的一个具体列相关。...权限信息存储在 mysql 系统库的 user、db、tables_priv、columns_priv、procs_priv 这几个系统表中。...`.* from 'test_user'@'%'; 权限管理是一件不容忽视的事,我们不能为了方便而给数据库用户很大的权限。

    2.5K30

    mysql用户权限管理

    前言 业务场景描述:我们在不同的项目中给不同的角色(mysql客户端用户,通常为开发者)不同的权限,为了保证数据库的数据安全。...image.png 4.给用户授权 mysql中将权限分3类:数据权限、结构权限、管理权限 数据权限:增删改查(select/update/delete/insert) 结构权限:结构操作(create.../drop) 管理权限:用户操作权限(create user/grant/revoke) 常用权限:all、create、drop、select、insert、delete、update grant...权限列表 on 数据库.表名 to 用户@'ip'; eg: grant all on mid_scsio.qy_staff to 'tjh'@'%'; tjh这个用户只有qy_staff这个表的数据权限...image.png 6.revoke:权限回收 revoke 权限列表 on 数据库.表名 from 用户@'ip'; ?

    6.3K30

    MySQL 用户管理和权限管理

    在项目中,一个数据库有很多人需要使用,不能所有的人都使用相同的权限,如果人比较多,一人一个用户也很难管理。一般来说,会分超级管理员权限,管理员权限,读写权限,只读权限等,这样方便管理。...当然,具体怎么管理权限根据实际情况来确定。 无论如何,都需要创建多个用户来管理权限。...查看所有用户 MySQL 中所有的用户及权限信息都存储在默认数据库 mysql 的 user 表中。 进入 mysql 数据库,通过 desc user; 可以查看 user 表的结构。...以上就是对数据库用户和权限管理的基本操作。...这些操作都是对 mysql 数据库中的 user 表进行操作,所以上面的大部分操作都还有另外一种方法,就是通过对 mysql.user 表的增删改查语句来实现。

    6.3K30

    【MySql】用户管理——用户管理|权限管理

    用户管理 如果我们只能使用root用户,这样存在安全隐患。这时,就需要使用MySQL的用户管理。...用户信息 MySQL中的用户,都存储在系统数据库mysql的user表中,我们来查看一下: **对于上面字段所代表的意思如下:**我们来看一看 host: 表示这个用户可以从哪个主机登陆,如果是localhost...**最终创建成功,实际上,创建的用户其实就是在user表中插入数据:**我们来看一看user表中多了一条数据: 此时便可以使用新账号新密码进行登陆啦 ,登陆前先flush privileges;此时就登录成功了...MySQL数据库提供的权限列表: 给用户授权 刚创建的用户没有任何权限。...(表,视图,存储过程等) 库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等) identified by可选。

    2.5K50

    shiro怎么进行权限管理_MySQL权限

    今天说一说shiro怎么进行权限管理_MySQL权限,希望能够帮助大家进步!!!...“ Subject Manager:相当于Spring MVC中的DispatcherServlet;是Shiro的心脏,所有具体交互管理都通过Security Manager进行控制,它的管理者所有的...Subject,且负责进行权限认证,授权,会话,缓存的管理 Authenticator:负责Subject认证,是一个扩展点,可以自定义实现,可以使用认证策略(Authentication Strategy...生命周期dd饿组件,而Shiro并不仅仅是可以用在Web环境,也可以用在普通的JavaSE环境中 CacheManager:缓存控制器,来管理用户,角色,权限等缓存,因为这些数据基本很少改变,放到缓存后可以提高访问性能...--mysql驱动--> mysql mysql-connector-java</artifactId

    9K20

    MySQL 用户和权限管理

    站在安全的角度看,不同的业务如果连的是同一个 MySQL 服务,就需要创建不同的用户,并为这些用户配置他们所需要的最小权限。这一节内容就来聊聊 MySQL 的用户和权限管理。...删除用户,可执行: DROP USER 'martin'@'localhost'; 2 权限管理 MySQL 常用的权限有这些: 权限 解释 insert 允许写入数据 delete 允许删除数据 select...允许查询数据 update 允许更新数据 create 允许创建库和表 drop 允许删除库、表、视图等。...alter 允许修改表结构 all 除 grant option 和 proxy 权限外,赋予其他所有权限 更多 MySQL 权限可参考官方文档:https://dev.mysql.com/doc/refman...3 角色管理 有时候,某一类用户会有固定的权限(比如业务用户有增删查改权限),这种情况,可以考虑使用 MySQL 的角色,MySQL 角色是多个权限的集合,可通过下面的方法创建角色: CREATE ROLE

    4.3K10

    【MySQL】用户和权限管理

    查看用户MySQL 中的用户都存储在系统数据库 mysql 的 user 表中,如下所示:select host,user,authentication_string from user;创建用户create...但是 MySQL8.0.35 中已弃用,以后可能会删除。...内置权限下图是 MySQL 内置支持的权限列表:查看用户现有权限show grants for '用户名'@'主机名';或select * from information_schema.USER_PRIVILEGES...ON 权限层级:指定权限的作用范围,可以是:数据库级别:database.*,表示对指定数据库的所有表。表级别:database.table,表示对指定数据库中的特定表。...权限名称描述SELECT允许用户从表中检索数据INSERT允许用户向表中插入数据UPDATE允许用户更新表中的数据DELETE允许用户删除表中的数据CREATE允许用户创建新的数据库、表、视图等DROP

    29010
    领券