第10讲 MySQL用户管理.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10讲 MySQL用户管理

第10讲 MySQL用户管理 MySQL用户包括普通用户和root用户。这两种用户的权限是不一样的。root用户是超级管理员,拥有所有的权限。root用户的权限包括创建用户、删除用户、修改普通用户的密码等管理权限。而普通用户只拥有创建该用户时赋予它的权限。用户管理包括管理用户的帐户、权限等。 10.1 权限表 安装MySQL时会自动安装一个名为mysql的数据库。mysql数据库下面存储的都是权限表。用户登录以后,MySQL数据库系统会根据这些权限表的内容为每个用户赋予相应的权限。这些权限表中最重要的是user表、db表和host表。除此之外,还有tables_priv表、columns_priv表、proc_priv表等。 10.1.1 user表 user表是MySQL中最重要的一个权限表。使用DESC语句来查看user表的基本结构。user表有39个字段。这些字段大致可以分为四类,分别是用户列、权限列、安全列和资源控制列。 1.用户列 2.权限列 3.安全列 4.资源控制列 1 用户列 包括Host、User、Password,分别表示主机名、用户名和密码。 用户登录首先要判断这3个字段,同时匹配才允许登录 修改用户密码实际就是修改user表中的password字段的值。 2 权限列 User表的权限列包括Select_priv,Insert_priv等以priv结尾的字段。这些字段决定了用户的权限。 普通权限:查询、修改、删除等(用于操作数据库) 高级管理权限:关闭服务权限、超级权限和加载用户等(用于对数据库进行管理) 通过update语句更新user表的方式来设置权限。 3 安全列 Ssl_type、ssl_cipher、x509_issuer和x509_subject Ssl用于加密;x509标准可以用来标识用户。 4 资源控制列 Max_questions、max_updates、max_connections和max_user_connections Max_questions和max_updates分别规定每小时可以允许执行多少次的查询和更新 max_connections规定每小时可以建立多少连接 max_user_connections规定单个用户可以同时具有的连接数。 默认值为0,表示没有限制 10.1.2 db表和host表 db表和host表也是MySQL数据库中非常重要的权限表。db表中存储了某个用户对一个数据库的权限。db表比较常用,而host表很少会用到。使用DESC语句来查看这两个表的基本结构。这两个表的表结构差不多。db表和host表的字段大致可以分为两类,分别是用户列和权限列。 1.用户列 2.权限列 1 用户列 Db表的用户列包括host、db和user字段,分别表示主机名、数据库名和用户名。Host表的用户列有两个字段,分别是host和db. Host表是db表的扩展。如果db表找不到host字段的值,就需要到host表中去寻找。 Host表很少用到,通常db表的设置已经满足要求 2 权限列 User表中的权限是针对所有数据库。如果user表中的select_priv字段取值为y,那么该用户可以查询所有数据库中的表;如果某个用户只设置了查询test数据库的权限,那么user表的select_priv字段的取值为N。而这个select权限则记录在db表中,db表中select_priv字段的取值会是Y. 10.1.3 tables_priv表和columns_priv表 tables_priv表可以对单个表进行权限设置。columns_priv表可以对单个数据列进行权限设置。可以使用DESC语句来查看这两个表的基本结构。 tables_priv表包含8个字段,分别是Host、Db、User、Table_name、Table_priv、Column_priv、Timestamp和Grantor。前四个字段分别表示主机名、数据库名、用户名和表名。Table_priv表示对表进行操作的权限。这些权限包括Select、Insert、Update、Delete、Create、Drop、Grant、References、Index和Alter。Column_priv表示对表中的数据列进行操作的权限。这些权限包括Select、Insert、Update和References。Timestamp表示修改权限的时间。Grantor表示权限是谁设置的。 Mysql中权限分配是按照user表、db表、table_priv表和columns_priv表的顺序进行分配的。数据库系统中,先判断user表中的值是否为y。如果user表中的值为Y,就不需要检查后面的表。如果user表的为N,则依次检查d

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档