iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql 中怎么实现权限控制
  • 542
分享到

mysql 中怎么实现权限控制

2024-04-02 19:04:59 542人浏览 泡泡鱼
摘要

本篇文章给大家分享的是有关Mysql 中怎么实现权限控制,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。概述mysql权限控制在不同的上下文和不

本篇文章给大家分享的是有关Mysql 中怎么实现权限控制,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

概述

mysql权限控制在不同的上下文和不同的操作水平上都可以进行控制,他们包括如下几个
** 管理权限可以允许用户管理mySQL Server的操作。这些权限控制是全局的,不是针对某个特定的数据库
** 数据库权限对应到一个数据库和里面的对象。这些权限被用来控制特定的数据库或者全局的,他们能够应用到所有的数据库
** 数据库对象的权限对应到数据库表,索引,视图,和存储过程,可以对数据库内部的某个对象进行授权控制。

权限的存储位置

** 账号权限信息被存储在mysql数据库的user,db,tables_priv ,columns_priv ,procs_priv 表中。
** mysql启动的时候读取这些信息到内存中去,或者在权限变更生效的时候,重新读取到内存中去

mysql 账号管理

mysql 账号名字由用户名和主机名组成。这样可以允许同已用户在不同主机上分别控制权限。这一部分描述如何分配账户名字包括特定的值和模糊
匹配规则,在sql语句中,create user, grant ,set passWord的时候,会用到这些规则:
- ‘user_name’@’host_name’ 就是账户名字的语法规则
- 仅仅包含用户名的账号等同于 ‘username’@’%’
- 如果用户名是合法的字符,用户名和主机名不必用引号引起来。在你的用户名包含’-‘这样的字符的时候,需要用引号引起来。或者说主机名有
 通配符的时候需要引起来。
- 引号可以用单引号也可以用双引号。
- 主机和用户名必须分别被引号括起来,如果必须要括的话。
mysql在mysql数据库中分别用两个列去存储用户名和主机名:
- 用户表每个账户一行记录,此表也表示了账号有哪些全局权限。
- 其他授权表表示了账号拥有的数据库和数据库内的对象。这些表都有用户名和主机列。每行的账户信息和user表的账户信息是奕扬的。
用户名和主机名可以包含特殊字符或者通配符,下面是这些规则:
用户名要么是一个非空字符串字面上必须匹配连接字符串中指名的用户名,或者一个空字符串就会匹配人户用户名。空用户名是一个匿名用户。
主机名也可以又好多形式,或者通配符:
- 主机名可以是一个IP地址或者一个localhost样的字符串。
- %和sql中的like的效果是一样的。例如 ’%.mysql.com’ 就会匹配 a.mysql.com.

权限控制阶段1:连接校验

当你尝试去连接到mysql服务器,服务器基于下面两点条件去接受或者拒绝连接:
- 你的身份标识以及正确的密码
- 你的账号是否被定了
服务器先校验密码是否正确,然后校验是否锁定。任何一个步骤失败,服务器将会拒绝连接。如果通过校验,服务器接受连接,然后进入第二阶段并且等候请求。
认证检查先检查user表的三个列,host,user,password。锁定状态是在user表的account_locked列中记录着的。账号锁定状态可以通过alter user语句来变更。
你的身份由两部分来组成,你连接的客户主机以及你的mysql用户名。如果用户名不空,则必须全字符匹配才可以,如果用户名是空的,则匹配任何用户。如果用户表匹配到一个空用户名,这个用户被认为是一个匿名用户,二不是客户实际提供的。这意味着空用户名是用来进一步检查用的也就是阶段2.
密码可以为空,这个不是一个通配符,不意味着匹配任何密码。它的意思是用户必须无密码连接。如果服务起授权一个客户都安使用一个插件,这样
该插件实现的认证体系或许没有用密码列。在这样的情况下,外部密码也可以用来去认证mysql服务器。
非空密码都是加密存储的,mysql没有存储任何明文密码。并且用户提供的密码也是被加密的。这个加密的密码后来在连接过程中,来检查密码是否正确。
从mysql的观点来看,加密的密码才是真正的密码,所以不要告诉任何人这个加密的密码。
如果在user表中有多行被匹配,服务器必须决定用哪一个,它的规则是这样的:
- 任何时候服务器读取用户表到内存中的时候,它会排序
- 服务器检查的伺候服务器按行顺序去检查
- 服务器使用第一个匹配的行
服务器排序的规则是无通配符的在前面,统配的在后面。

权限控制阶段2:请求校验

当通过了连接校验,你和服务器建立了连接后,服务器进入权限控制的第二个阶段。你的每个请求,服务器决定出你想做什么操作,然后检查你是否有
权限去做。此时,grant 表的privilege列就该出场了。这些列可以出自 user,db,tables_priv,columns_priv,procs_priv。不再细讲这些表了。

什么时候去权限变更生效

当服务器启动的时候,grant表的数据被读入内存。如果你使用账户管理语句去更新权限控制,服务器将会知道这些变更,然后重新读取它们。如果你
直接用sql语句去更新这些表,你的变更不会生效,直到你重新启动服务器或者你告诉服务器去重建缓存
你可以通过执行一个刷新权限操作来通知服务器重建缓存。下面三个语句都可以达到效果:
- flush_privileges
- mysqladmin_flush-privileges
- mysqladmin_reload
如果启动参数是 –skip-grant-tables ,那么服务器不再校验任何权限,很不安全


以上就是mysql 中怎么实现权限控制,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: mysql 中怎么实现权限控制

本文链接: https://www.lsjlt.com/news/57887.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql 中怎么实现权限控制
    本篇文章给大家分享的是有关mysql 中怎么实现权限控制,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。概述mysql权限控制在不同的上下文和不...
    99+
    2022-10-18
  • Vue2.0中怎么实现用户权限控制
    这篇文章将为大家详细讲解有关Vue2.0中怎么实现用户权限控制,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。运行//开发 npm run ...
    99+
    2022-10-19
  • vue按钮怎么实现权限控制
    这篇文章主要讲解了“vue按钮怎么实现权限控制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue按钮怎么实现权限控制”吧!一、步骤1.定义buttom权限在state中创建buttomPe...
    99+
    2023-06-22
  • MLSQL中怎么实现编译时权限控制
    本篇文章为大家展示了MLSQL中怎么实现编译时权限控制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。权限控制,对于MLSQL而言的重要程度可以说是生命线。 MLSQ...
    99+
    2022-10-18
  • CRM Transaction处理中的权限控制怎么实现
    本篇内容主要讲解“CRM Transaction处理中的权限控制怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CRM Transaction处理中的权限控制怎么实现”吧!当试图打开一个O...
    99+
    2023-06-04
  • 什么是mysql的权限控制机制
    本文主要给大家介绍什么是mysql的权限控制机制,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下什么是mysql的权限控制机制吧。权限控制机制 &nb...
    99+
    2022-10-18
  • Spring Security权限控制的接口怎么实现
    本篇内容主要讲解“Spring Security权限控制的接口怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Security权限控制的接口怎么实现”吧!...
    99+
    2023-07-05
  • 如何在PHP中实现权限控制
    随着互联网的不断发展,越来越多的网站和应用程序依赖于PHP语言进行开发。然而,如何在PHP中实现权限控制仍然是一个重要的挑战。在本文中,我们将介绍一些常用的方法和技巧,以帮助您在PHP中实现有效的权限控制。定义用户角色和权限在开始编写代码之...
    99+
    2023-05-20
    PHP 实现 权限控制
  • MongoDb中怎么控制用户权限
    今天就跟大家聊聊有关MongoDb中怎么控制用户权限,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Mongodb创建用户的语法在不用的版本之间还是不...
    99+
    2022-10-18
  • Spring Security中粒度超细的权限控制怎么实现
    这篇文章主要讲解了“Spring Security中粒度超细的权限控制怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Security中粒度超细的权限控制怎么实现”吧!1...
    99+
    2023-06-19
  • RBAC权限控制的实现原理
    本篇内容介绍了“RBAC权限控制的实现原理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
  • React 组件权限控制的实现
    目录前话正文1. 控制方式1.1 直接计算1.2 通用权限Hoc1.3 权限包裹组件2. 控制结果2.1 显隐控制2.2 自定义渲染3. 权限数据3.1 静态权限3.2 动态权限前话...
    99+
    2022-11-13
  • vue-router如何实现权限控制
    这篇文章主要讲解了“vue-router如何实现权限控制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue-router如何实现权限控制”吧!在vue-router控制前端权限是常见需求:...
    99+
    2023-07-04
  • MySQL中怎么实现权限管理
    MySQL中怎么实现权限管理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.用户权限简介当我们创建过数据库用户后,还不能执行任何操作,需...
    99+
    2022-10-18
  • Linux中的超级权限怎么控制
    在Linux中,超级权限是指root用户拥有的特权,可以对系统的所有资源和文件进行完全的控制和操作。为了确保系统的安全性,有以下控制...
    99+
    2023-10-23
    Linux
  • Spring Security权限管理实现接口动态权限控制
    目录摘要前置知识数据库设计数据库表结构数据库表介绍ums_adminums_roleums_admin_role_relationums_menuums_resourceums_re...
    99+
    2022-11-13
  • vue-router中怎么实现路由懒加载和权限控制
    今天就跟大家聊聊有关vue-router中怎么实现路由懒加载和权限控制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、为什么要使用路由懒加载呢用v...
    99+
    2022-10-19
  • 在Angular项目中如何实现权限控制
    这篇文章主要介绍“在Angular项目中如何实现权限控制”,在日常操作中,相信很多人在在Angular项目中如何实现权限控制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”在A...
    99+
    2022-10-19
  • CentOS下如何实现ACL权限控制
    这篇文章主要介绍“CentOS下如何实现ACL权限控制”,在日常操作中,相信很多人在CentOS下如何实现ACL权限控制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CentOS下如何实现ACL权限控制”的疑...
    99+
    2023-06-10
  • Oracle如何实现用户权限控制
    这篇文章主要为大家展示了“Oracle如何实现用户权限控制”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle如何实现用户权限控制”这篇文章吧。1、用户O...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作