7.2 MySQL权限系统原理

2023-05-16

  • MySQL权限系统的用户接口由SQL语句组成,比如create user,grant,revoke。在数据库内部,MySQL把权限信息保存在MySQL database的赋权表中。MySQL服务器在启动时把这些的内容读入到内存中,并基于内存中这些表的拷贝做出存取控制的判断。
  • MySQL在鉴定身份时既考虑你连接的主机又考虑你的用户名。比如从office.example.com连接MySQL的用户Joe和从home.example.com连接MySQL的用户不一定是一个人。MySQL通过使你能区分不同主机上碰巧使用相同用户名的用户来处理这种情况。你可以通过show grant语句来确认一个给定的用户有什么权限。比如SHOW GRANTS FOR 'joe'@'office.example.com';SHOW GRANTS FOR 'joe'@'home.example.com';
  • 当你运行客户端程序连接服务器端时,MySQL权限控制分两步执行。第一步:服务器根据你的身份标识和是否能够提供此标识相应的正确密码来判断接受或拒绝你的连接请求。第二步:假设你连接上了,服务器检查你发的每一条语句来决定你是否有权限执行。
  • 如果你的权限在你连接服务器时发生改变,这些改变不一定在你发送下一条语句时生效**。 (7.2.6权限更改何时生效
    • 如果你通过使用账号管理语句比如grant/revoke/set password/rename user来间接地修改grant表,服务器注意到这些变化,并立马再次把grant表加载到内存中。
    • 如果你使用例如insert/update/delete等语句直接修改grant表,这些改变不会立即生效,除非你重启进程或者通过执行清除权限-flush-privileges操作来告诉进程重新加载grant表。手工重新加载grant表还可以通过执行mysqladmin flush-privileges或者mysqladmin reload命令。
    • grant表重载后对每个已经存在的客户端连接影响如下:
      • 表和列级的权限在发送下一个请求时生效;
      • 数据库级的权限在客户端下次执行use db_name语句后生效;
      • 全局权限和密码对于一个已经存在的连接不会生效,只有在以后的连接才会生效。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

7.2 MySQL权限系统原理 的相关文章

  • 如何在不超时的情况下解析大型 CSV 文件?

    我正在尝试解析 50 MB 的 csv 文件 文件本身很好 但我正在尝试解决所涉及的大量超时问题 每个设置上传明智 我可以轻松上传并重新打开文件 但浏览器超时后 我收到 500 内部错误 我的猜测是我可以将文件保存到服务器上 打开它并保留我
  • Java 从 SQL 数组获取 ResultSet 失败

    我试图从数据库中检索电子邮件地址 但没有成功 我的代码如下 Main System out println PortfolioData getEmails 58 So Far Returning null 投资组合数据 public sta
  • 在 MySQL 数据库中存储图像文件或 URL?哪个更好? [复制]

    这个问题在这里已经有答案了 可能的重复 在数据库中存储图像 是还是否 https stackoverflow com questions 3748 storing images in db yea or nay 数据库中的图像与文件系统中的
  • 如何用 UNION 运算符替换 OR 运算符?

    这是我的查询 SELECT h id h subject h body matnF h amount h keywords tags h closed h author id author h AcceptedAnswer h type h
  • SQL统计高于和低于平均分的学生人数

    我在下面有一个示例表 我试图获取高于平均分数的学生人数和低于平均分数的学生人数 name subject classroom classarm session first term score first term grade std1 m
  • MYSQL 查询返回“资源 id#12”而不是它应返回的数值

    不知道为什么 但这返回了错误的值 我正在取回此资源 ID 12 而不是我正在寻找的数值 1 执行此操作的代码是 type SELECT account type from user attribs WHERE username userna
  • Codeigniter 加入多个条件

    我正在使用 Codeigniter Active Records 课程 我想加入我的users与我的桌子clients表 这样我就可以显示用户的 真实 姓名 而不仅仅是他们的 ID 这是什么clients表看起来像 示例 列 a 1 a 2
  • C#:SQL 查询生成器类

    在哪里可以找到好的 SQL 查询构建器类 我只需要一个简单的类来构建 SQL 字符串 仅此而已 我需要它用于 C 和 MySql 我真的不需要像 Linq 或 NHibernate 这样的东西 谢谢 由于 Google 将我引导至此页面 我
  • MySQL+子串怎么做? + 替换?

    我不太擅长 SQL 希望能够变得更好 我在尝试执行某些表操作时遇到一些麻烦 我希望能够从下面的 ProgUID 列中选择子字符串 就像是 SUBSTRING table ProgUID 3 12 这将为我提供 ProgUID P CAMVE
  • 通过连接从两个表中删除?

    我有两个表如下 tbl1 tbl2 id article id title image whole news tags author older datetime 其中 tbl1 id gt tbl2 article id 如何从两个表中删
  • 使用按位函数查询 BIT 字段时,MySQL 不使用索引

    我的 MySQL 表中有一个 BIT 类型的字段 我想使用位值存储记录的状态 例如 1 status1 2 status2 4 status3 8 status4 每条记录可以同时具有多种状态 对于 status1 和 status3 该值
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • Hibernate 对集合的查询过滤器

    我想执行以下查询 from Item i where i categoryItems catalogId catId 然而 这会产生以下异常 非法尝试取消引用集合 所以我用谷歌搜索 找到了这个 Hibernate 论坛帖子https for
  • Mysql 检索所有有限制的行

    我想检索特定用户的所有行 限制为 0 x 所以我只是想问是否有任何方法可以检索 mysql 中的所有行 而不调用返回 x 的 count id 的方法 而不重载现有函数 该函数在查询中根本没有限制 与我们的 string Relace 功能
  • 如何在Sequelize中设置查询超时?

    我想看看如何在 Sequelize 中设置查询的超时时间 我查看了 Sequelize 文档以获取一些信息 但我找不到我要找的东西 我发现的最接近的是 pools acquire 选项 但我不想设置传入连接的超时 而是设置正在进行的查询的超
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • 将古吉拉特语文本插入 MySQL 表会产生垃圾字符和不可读的文本

    我有三个 MySQL 表 我正在向其中插入古吉拉特语内容 当我插入两个表时 它们插入得很好并且可读 但在一个表中 它显示垃圾字符 不可读的文本 我怎样才能解决这个问题 MySQL 有每个表的字符集设置 http dev mysql com
  • Mysql 创建定义器

    我创建了一个在 CentOS Web 服务器上运行的 Intranet Web 应用程序 该应用程序使用另一个本地服务器 始终是 CentOS 作为 MySQL 数据库 在数据库内部我创建了例程 这些例程总是这样开始 CREATE DEFI
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri

随机推荐

  • 在OpenCore引导菜单添加Windows引导项

    在OpenCore引导菜单添加Windows引导项 OpenCore配置文件修改 在Misc HideSelf去掉勾选 在Misc BlessOverride添加EFIMicrosoftBootbootmgfw efi xff0c 如下图
  • OpenCore黑苹果引导开机声音与图形界面设置

    下载最新版本OpenCore与OpenCore Configurator 下载的OpenCore包里面包含了声音与图形所需要的Resources文件夹 Misc Boot下设置 Misc Boot PickerAudioAssist 勾选
  • 在你的硬盘上建立第二个 EFI 分区

    文章目录 隐藏 操作环境 xff1a macOS 群里经常会看到很多小白因为安装双系统导致破坏 EFI 引导分区的事情发生 xff0c 这通常是指Windows和macOS双系统并存的情况 一些台式机友为了彼此系统相安无事 xff0c 就加
  • OpenCore 升级 0.7.2 后引导界面没有 10.15 及以下系统选项的解决办法

    前言 OpenCore 发布了 0 7 2 正式版 xff0c 总体来看这并不是一个大更新 xff0c 属于常规更新 xff0c 但是在安全性方面做了一个不大不小的改动 xff0c 影响了很多用户 OpenCore 0 7 2 针对 mac
  • 黑苹果台式机免驱独显购买推荐

    文章目录 隐藏 macOS big sur 11 4 免驱动独显macOS Mojave macOS Catalina big sur Monterey系统下AMD免驱动独显 xff1a macOS Mojave macOS Catalin
  • 数组中删数(只删一个)

    Description 在给定的数组中删除一个数 Input 多组测试 xff0c 每组第一行输入1个整数n xff08 n lt 20 然后是n个整数 第二行输入1个整数m Output 删除在第一行的n个整数中第一次出现数字m并删除 x
  • 在java中 随机产生10个范围在1~100的随机数放置到数组中,重复的数去掉,使用原生的冒泡排序,然后遍历打印排序后的结果

    在java中 随机产生10个范围在1 100的随机数放置到数组中 xff0c 重复的数去掉 xff0c 使用原生的冒泡排序 xff0c 然后遍历打印排序后的结果 随机范围1 100的随机数 10个 放置到数组中 xff0c 重复的数组去掉
  • java.lang.ClassCastException: class org.apache.logging.slf4j.SLF4JLoggerContext cannot be cast

    spring boot 3 0 0 使用gradle7 6整和myabtis plus 3 5 3 1 出现如下报错 java lang ClassCastException class org apache logging slf4j S
  • java上传图片或者文件到nginx服务器

    红线部分就是Nginx上的路径 注解 64 requiresPermissions这个是权限的问题 可以去掉 千万不要忘了红线部分 这是上传图片 其实上传文件跟这个也是一样的 当然这里面少了一些判断 比如限制文件的大小等 当你完成之后访问你
  • jsp页面的onclick事件

    lt input nclick 61 34 document all WebBrowser ExecWB 1 1 34 type 61 34 button 34 value 61 34 打开 34 name 61 34 Button1 34
  • 位运算abc

    位运算 xff0c 针对单个位进行的运算方式 xff0c 不涉及阶 常见的位运算包括位与 amp 位或 异或 位非 移位 左移 lt lt 和右移 gt gt 等运算 位运算常见的用处有 xff1a 对二进制数指定位置0 xff0c 1取出
  • c混合运算和数据类型转换

    C语言表达式进行混合运算时 xff0c 运算规则 xff1a 运算符相应的数据先做类型统一根据运算变量决定运算精度根据结果变量决定结果精度 其中 xff0c 类型统一时的默认的数据类型转换规则如下图 xff1a
  • oracle-plsql初步使用

    之前使用Oracle数据库都是通过jdbc接口调用oracle 最近由于工作的关系需要通过tns操作Oracle数据库 xff0c 于是把最近学习和收集的一点内容记录下来 xff0c 以便以后再次使用时参考 概念先行概念落地登陆常用sql利
  • ubuntu on win10

    开启大门 设置 安全和更新 针对开发人员 使用开发人员功能 开发人员模式控制面板 程序和功能 启用和关闭windows功能 适用于Linux的windows子系统 xff08 beta xff09 进入cmd命令窗口 xff0c 输入bas
  • Lamp环境搭建和ucenter/ucenterhome

    环境 xff1a Centos 7 3 1611 步骤 xff1a 安装apache php软件 xff1a yum install httpd php php mysql安装mysql mariadb xff0c 以Centos系统为例
  • win10安装系统自带应用

    以管理员身份启动系统自带的Windows Powershell组件 xff0c 接着输入Get AppxPackage allusers Select Name PackageFullName xff0c 通过该命令获取当前系统安装的所有应
  • SQL DDL从MySQL到Oracle

    最新一个项目的sql ddl为MySQL准备的 xff0c 我想在Oracle中使用 之前不太了解两者的区别 xff0c 结果报错一坨 于是顶着头皮开始看什么问题 xff0c 以下是我陷过的坑 xff0c 让大家看看 废话少说 xff0c
  • 7 MySQL安全概述

    1 常见因素 密码 常见的密码要求 xff1a 包含大小写 数字 特殊字符限制 长度 不要保存密码明文 为防止彩虹表 xff0c 也不要简单的使用hash方法 xff0c 可以采用hash hash password 43 salt 的方式
  • 关于SIFT和SURF介绍

    SIFT xff08 尺度不变特征变换 xff09 关于一些角点检测技术 xff0c 比如 Harris 等 它们具有旋转不变特性 xff0c 即使图片发生了旋转 xff0c 我们也能找到同样的角点 xff0c 但如果进行图像缩放 xff0
  • 7.2 MySQL权限系统原理

    MySQL权限系统的用户接口由SQL语句组成 xff0c 比如create user xff0c grant xff0c revoke 在数据库内部 xff0c MySQL把权限信息保存在MySQL database的赋权表中 MySQL服