MySQL权限的架构体系

日期: 2011-07-13 作者:Eugene 来源:TechTarget中国 英文

  软件系统的访问认证和操作请求权限控制,是多数软件产品的必备功能,MySQL数据库产品也一样,其访问认证机制和操作请求权限控制,并不复杂却很有特色。另外网友们提到对访问认证、操作请求权限控制和维护等没有理清楚,那么分2篇文章编写,力求知识点讲解更加清晰和到位,本文先围绕主题:访问认证机制和操作权限请求权限控制体系。

  客户端连接请求认证

  MySQL的认证控制,是分二个步骤完成的:连接认证和操作请求认证,这二部分通过2幅流程进行讲解,先看客户端向服务器端发起的数据库连接认证,如图1-1:

  

  连接验证的流程图文字详解:

  客户端(Client)连接信息,会传递给服务器端:客户端的hostname或者IP地址、数据库帐号名称、数据库帐号对应的密码、数据库服务的端口号、数据库服务器的IP地址或域名;

  备注:我们大多数的时候,都是使用IP地址,而不是域名,使用IP地址可以达到更高效,和减少出问题的机会.

  系统数据库表user的主键为2个字段组合:host,user;

  Hostname或IP地址的校验:检查传入的IP地址,是否符合帐号对应的hostname字段值对IP地址限制要求;

  数据库访问帐号校验:优先检测的就是帐号名称是否能查询到数据,若是找不到对应的话,那么剩下的比对信息都毫无意义,但是在系统表user中,可能存在多个帐号名相同,甚至密码相同,但是IP地址限制字段host值不一致;

  数据库访问帐号的密码校验:查找user和host组合唯一确定的记录集中,password字段的值与客户端传入的值进行加密后是否一致;

  客户端操作请求认证

  当客户端的连接请求,被mysql服务器端通过其身份认证,那么接下来就可以发送数据库的操作命令给服务器端处理,但是操作请求必须是其数据库连接帐号所拥有的权限范围之内,否则将会被提示因权限不足而拒绝。首先,我们用流程图的方式,告诉大家数据库操作所需要的权限检测架构,如图1-2所示。

  

 
点击放大

  客户端操作请求的权限验证文字描述:

  数据库系统中存储的权限信息,mysqld服务启动的时候,都会加载到内存中;

  通过权限操纵语句增删帐号、修改帐号权限,都会修改内存中的数据;

  通过SQL语句直接操纵系统权限信息表,则需要人为执行FLUSH PRIVILEGES,才会从磁盘上增加到内存中;

  数据库操作所需要的权限,权限系统首先是查阅user表中登记的帐号权限信息,对应列设置为:Y,即是拥有的;若是N,则是无此权限。表User中的权限信息是具有全局性的;

  MySQL权限是由高到低非逐项检测过程,即查阅到帐号拥有范围更大的权限,被其包含的低级别权限要求,就不再进行检查,只有查阅的高级权限不存在的时候,才会继续向粒度更细的权限检测点搜索;

  解释下表db和表host特殊关系,若是把一个数据库上的操作权限,只赋予网络中某一些主机,那么可以在db表中不填写任何记录信息,但是在表host中添加对应的信息即可,每一条信息对应一台被允许的主机;

  表db中 有2条默认的特殊记录,其字段Db的值分别为:test、test_%,而且user字段的值为:空字符串,其中权限项只有:Grant_priv、Alter_routine_priv、Execute_priv的值为:N,其他权限项的值都为:Y,则表示任何用户都在以test或test字符开头名称的数据库上,除三项权限之外的任何权限。为此,大家若不想任何人看见系统默认创建的数据库:test,而是由权限才允许的话,只要把这2条数据删除即可;

  表 user中有默认创建的记录,其中包过允许任何匿名的用户登录,以及允许root帐号远程登录,以及帐号都没有设置密码,为此大家必须消除此的方便性而带来的极大隐患;

  本文的篇幅,主要是简单地给大家介绍mysql权限认证体系架构,分二个阶段进行,分别是连接请求和操作请求,然后操作请求才会被允许执行,后续会再写一片文章,介绍mysql权限系统中的账号密码等信息,应该如何维护和设置,才可以确保mysql系统更加安全。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Eugene
Eugene

相关推荐