mysql的权限系统

mysql的权限系统

ID:40493245

大小:249.02 KB

页数:13页

时间:2019-08-03

mysql的权限系统_第1页
mysql的权限系统_第2页
mysql的权限系统_第3页
mysql的权限系统_第4页
mysql的权限系统_第5页
资源描述:

《mysql的权限系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6.1mysql的权限系统6.1.1权限表Ø客户对mysql数据库的访问权限由权限表来控制,表位于mysql数据库中,并在第一次安装mysql的过程中初始化。ØMysql数据库权限表由6个表组成:user表、db表、host表、table_priv表、columns_priv表、proc_priv表1、权限表user、db和host的结构和作用(1)user表ØMysql中最重要的一个权限表,记录允许连接到服务器的账号信息。Ø列出可以连接到服务器的用户及其口令,并指定他们有哪种全局权限ØUser表中启用的任何权限都是全局权限,适用

2、于所有数据库ØMysql5.5中,user表有42个字段,分为4类:用户列、权限列、安全列和资源控制列A、用户列:分别表示主机名、用户名和密码,其中user和host为联合主键。B、权限列:包括以select_priv、insert_priv等以priv结尾的字段这些字段决定用户的权限,描述了在全局范围内允许对数据和数据库进行的操作。C、安全列:安全列有6个字段其中2个和ssl有关(用于加密)、2个和x509有关(用于标识用户)、2个与授权插件有关(用于验证用户)。D、资源控制列:用来限制用户使用的资源。认值为0,表示没有限制。(

3、2)db表和host表ØDb表中存储用户对某个数据库的操作权限,决定用户能从哪个数据库中存取数据。ØHost表中存储了某个主机对数据库的操作权限,配合db权限表对给定主机上数据库操作权限做更细致的控制。注意:ØUser表的权限是针对所有数据库的。Ø如果希望用户只对某个数据库有操作权限,需要将user表中对应的权限设置为N,然后在db表中设置对应数据的操作权限。Ø用户先根据user表获取权限,然后再根据db表的内容获取权限2、table_priv表、colunms_priv表和proc_priv表Øtable_priv表:对表设置操

4、作权限Øcolunms_priv表:对表的某一列设置操作权限Øproc_priv表:对存储过程和存储函数设置操作权限6.1.2mysql权限系统的工作原理Ø当mysql允许一个用户执行各种操作时,首先核实用户向服务器发送的连接请求,然后确认用户的操作请求是否被允许。ØMysql的访问控制分为两个阶段:连接核实和请求核实阶段。1、连接核实阶段使用user表的3个字段(host、user和password)进行身份验证,服务器只有在用户提供给主机名、用户名和密码并与user表中对应的字段值完全匹配时才能接受连接。2、请求核实阶段6.1

5、.3账户管理1、创建账户Ø创建新用户,必须有相应的权限ØMysql有三种方法创建新用户:图形工具:navicatSQL语句:createuser或grant直接操作权限表(不推荐)(1)使用navicat工具创建用户(2)使用createuser创建用户例1使用CREATEUSER创建一个用户,用户名是rjxy,密码是mypass,主机名是localhostCREATEUSER'rjxy'@'localhost'IDENTIFIEDBY'mypass';例2添加一个新用户,用户名为bana,密码为440432,不指定明文。首先,使

6、用password()获取密码的散列值:Selectpassword(440432);创建用户:Createuser'bana'@'localhost'Identifiedbypassword'*8896757F25D7B730D7A72894FE06257623CF99B9';验证:A.登录navicat界面查看用户:用户管理、user表。A.以bana用户登录mysql:mysql–hlocalhost–ubana-p打开数据库Usestu_info;(3)使用grant创建用户例3使用GRANT语句创建一个新的用户testU

7、ser,密码为testuser。用户testUser对所有的数据有查询和更新权限,并授于对所有数据表的SELECT和UPDATE权限。#创建账户并授予权限:GRANTSELECT,UPDATEON*.*TO'testUser'@'localhost'IDENTIFIEDBY'testUser';#查看账户权限信息(注意用户名区分大小写):selecthost,user,select_priv,update_privfrommysql.userwhereuser='testUser';(4)直接操作mysql用户表例4使用INSER

8、T创建一个新账户,其用户名称为student,主机名称为localhost,密码为student:#创建用户INSERTINTOmysql.user(Host,User,Password)VALUES('localhost','student',P

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。