概述
帐户权限信息存放在mysql数据库中的user/db/host/tables_priv/columns_priv/procs_priv表中,在服务器启动时将其读入内存以供使用;
与oracle不同,mysql的帐户由用户名和主机名两部分组成,如不显示指定主机名则等同于’username’@’%’;
一个数据库会话从发起连接到执行sql,经历两个阶段的权限验证:数据库连接验证和sql请求验证
数据库连接验证
一个数据库连接由user表里的Host/user/password三个列进行验证,但user/password列都可能为空;
Mysql在服务器启动时将user表记录排序读入内存,当user表里有多条记录都匹配数据库连接时,则选择第一条;
排序规则:先排序host列,空值排在最后,%次之;然后是user列,空值排在最后
例1:
--user表原始记录
+-----------+----------+-
| Host| User| ...
+-----------+----------+-
| %| root| ...
| %| jeffrey| ...
| localhost | root| ...
| localhost || ...
+-----------+----------+-
读入内存排序后的记录
+-----------+----------+-
| Host| User| ...
<最后
以上就是听话小土豆为你收集整理的检查mysql的权限_mysql之权限验证的全部内容,希望文章能够帮你解决检查mysql的权限_mysql之权限验证所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复