7.2 MySQL权限系统原理
来源:互联网 发布:php简易查询系统源码 编辑:程序博客网 时间:2024/06/07 18:13
- 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语句后生效;
- 全局权限和密码对于一个已经存在的连接不会生效,只有在以后的连接才会生效。)
0 0
- 7.2 MySQL权限系统原理
- MySQL的权限管理系统的原理
- MySQL学习笔记之二十二 权限系统工作原理
- Mysql权限检查原理
- MySQL - 存取权限系统
- MySQL 的权限系统
- MySql权限系统
- MySql权限系统
- MySQL 权限系统
- MySQL权限系统
- MySQL 存取权限系统
- MySQL权限系统详解
- MySQL权限系统
- MySQL访问权限系统
- mysql高级:权限检查原理
- mysql基础-mysql权限控制的原理
- 6 MySQL 存取权限系统
- MySQL 访问权限 系统 说明
- CDOJ 1349 柱爷大战滑稽王(dp LCS转LIS)
- ActiveMQ完整的java客户端例子(源码)
- 笔试算法题
- 设计模式之装饰者模式简单理解
- Android BroadcastReceiver中播放提示语音有时失效问题
- 7.2 MySQL权限系统原理
- 判断一个double型数据是否为0
- poj 2456 Aggressive cows (二分)
- android studio运行程序时正常,调试时出现NoSuchMethodException的解决办法
- 第十二周:83. Remove Duplicates from Sorted List
- Android安全防护之旅---带你把Apk混淆成中文语言代码
- [IOS APP] 档案-2016年07月至12月
- JavaScript执行环境及作用域
- native2ascii转码