本篇文章将会讲述MySQL的权限校对规则、权限项列表,以及会从数据库帐号和权限的设置层面,讲述如何使我们的数据库访问或数据操纵更安全。
帐号信息校验规则
客户端向mysql数据库服务器端发送的连接请求是否成功,除了网络、防火墙等因素制约其能否访问到服务器外,最重要的是必须提供五个参数信息:客户端的IP地址或主机名称、数据库服务器的IP地址或">网络域名、数据库访问的帐号和对应的密码,以及数据库服务运行的端口号。
User表的host字段值
字段host的值要求存储的字符串长度不得超过60个字符,且我们可以发现该字段的类型为CHAR,主要因表user存储引擎是:MyISAM,为保持行长固定,从而以空间换取数据的操纵性能提高。
User表的user字段值
字段user存储的值为访问数据库的帐号名称,要求存储的字符串长度不得超过16个字符且我们同样可以发现该字段的类型为CHAR,也是为了保持行场固定。
User表的password字段值
字段password的值为函数PASSWORD()加密过的暗语,暗语长度为固定的41个字符,字段类型也是CHAR,为定长类型,只有符合字段host和user值得校验通过之后,才会进行密码字段值得验证。
总述
mysql根据提供的客户端IP地址或主机名称,以及数据库帐号名称,判断是否存在对应的符合host字段和user字段值匹配规则的记录行,系统表user的联合主键:host、user,可以确定记录得唯一性,那么我们重点介绍host字段和user字段组合的校对规则,以示例的方式给大家阐述:
权限项列表
权限项
MySQL提供的权限项,可依据用处和作用范围,分为三类:
数据库服务管理级别的权限项,此类权限为全局范围的;
数据库或数据库内所有对象上的权限项,作用范围为数据库级别或数据库全局性质;
作用于某个数据库内的对象:表、索引、视图、存储过程;
通过GRANT 和REVOKE子句可操纵的权限项信息,图1-1:
图 1-1 来源于mysql手册
(责任编辑:吕光)