数据库原理及MySQL应用第13章 MySQL权限管理 第1,2节 权限表,权限表

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这几个表的权限依次递减,全局权限覆盖局部权限。
(1)用户字段 用户字段 user表中的host、user和password字段都属于用户字段。
【例1】查询user表的相关用户字段。
(2)权限字段 user表中包含几十个与权限有关以priv结尾的字段,这些权限字段决定了用户的 权限,这些权限不仅包括基本权限、修改和添加权限等,还包含关闭服务器权限、 超级权限和加载权限等。不同用户所拥有的权限可能会有所不同。
(4)资源控制列 资源控制列的字段用来限制用户使用的资源,包含4个字段,分别为: max_questions,max_updates,max_connections,max_user_connections
2. db表和host表
db表存储了用户对某个数据库的操作权限,决定用户能从哪个主机存取哪个数 据库;
user表是mysql中最终的一个权限表。 user列主要分为4个部分:用户列、权限列、安全列和资源控制列。 通常用的最多的就是用户列和权限列。其中权限又分为普通权限和管理权限。 普通权限主要用于对数据库的操作,而管理权限主要是对数据库进行管理的操作。
如果通过身份验证,按照以下权限的顺序得到数据库权限:user、db、 table_priv、colums_priv。
【例2】查看localhost主机下的用户的select、insert、update、权限
(3)安全字段 安全列只有6个字段,其中两个是ssl相关的:ssl_type和ssl_cipher,2个是 x509相关的:x509_issuer和x509_subject,另外2个是授权插件相关的。 【例3】可用show variables like 'have_openssl';语句可以查看是否具有ssl功能
(2) 权限列 db表和host表的权限列大致相同,表中create_routine_priv和 alter_routine_priv这两个字段表明用户是否有Leabharlann Baidu建和修改存储过程的权限。
3. tables_priv表
tables_priv表可以对单个表进行权限设置 ,用来指定表级权限。这里指定的权限 适用于一个表的所有列。
特别提醒:在执行数据库操作时,需要登录mysql,会通过root的用户账号,对 整个mysql服务器具有完全控制。建议应该严肃对待root登录的使用。
权限表
1. user表 2. db表和host表 3. tables_priv表 4. columns_priv表 5. procs_priv表
1. user表
5. procs_priv表
procs_priv表可以对存储过程和存储函数进行权限设置。 procs_priv表包含8个字段:host、db、user、routine_name、routine_type、 grantor、proc_priv和timestamp等。
host表中存储了某个主机对数据库的操作权限,配合db权限表对给定主机上数 据库级操作权限做更细致的控制。
db表比较常用,host表一般很少使用。
db表和host表结构相似,可以使用desc语句来查看这两个表的基本结构。字 段大致可以分为两类:用户列和权限列。
(1) 用户列 db表的用户列有3个字段:host、db和user。这3个字段分别表示主机名、数据 库名和用户名; host表的用户列有两个字段:host和db。这两个字段分别表示主机名和数据库 名。
访问控制
mysql提供了访问控制,以此来确保mysql服务器的安全访问,即用户应 该对他们需要的数据具有适当的访问权。
为满足mysql服务器的安全基础,考虑以下内容: 多数用户只需要对表进行读和写,但少数用户需要能创建和删除表; 某些用户需要读表,但可能不需要更新表; 可能想允许用户添加数据,但不允许他们删除数据; 某些用户(管理员)可能需要处理用户账号的权限,但多数用户不需要; 可能想让用户通过存储过程访问数据,但不允许他们直接访问数据; 可能想根据用户登录的地点限制对某些功能的访问。
tables_priv表有8个字段:host、db、user、table_name、grantor、 timestamp、table_priv和column_priv。
【例4】用desc tables_priv \g命令查看结构如下:
4. columns_priv表
columns_priv表可以对表中的某一列进行权限设置 columns_priv表只有7个字段,分别是host、db、user、table_name、 column_name、timestamp和column_priv。
相关文档
最新文档