第12章 用户和权限管理_第1页
第12章 用户和权限管理_第2页
第12章 用户和权限管理_第3页
第12章 用户和权限管理_第4页
第12章 用户和权限管理_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12章用户和权限管理《MySQL数据库应用教程》刘瑞新主编配套资源目录第12章用户和权限管理12.1权限管理概述12.2用户管理12.3账户权限管理12.1.1MySQL用户和权限的实现1.第一阶段,验证连接阶段2.第二阶段,请求核实阶段12.1权限管理概述12.1权限管理概述12.1.2MySQL的用户和权限表1.user表USEmysql;DESCuser;12.1权限管理概述(1)用户列【例12-1】查询user表的用户列,即查看MySQL有哪些用户。SELECTHost,UserFROMuser;12.1权限管理概述(2)权限列【例12-2】查看localhost主机下用户的SELECT、INSERT、UPDATE权限。SELECTSelect_priv,Insert_priv,Update_priv,Create_priv,User,HostFROMuserWHEREHost='localhost';12.1权限管理概述(3)安全列SELECTUser,plugin,authentication_stringFROMmysql.userWHEREUser='root';SELECTUser,password_expired,password_last_changed,password_lifetimeFROMmysql.userWHEREUser='root';12.1权限管理概述2.db表DESCmysql.db;(1)用户列(2)权限列12.1权限管理概述3.tables_priv表DESCmysql.tables_priv;12.1权限管理概述4.columns_priv表DESCmysql.columns_priv;12.1权限管理概述5.procs_priv表DESCcs_priv;12.1权限管理概述12.2.1使用SQL语句管理用户1.使用CREATEUSER语句创建新普通用户账号CREATEUSER[IFNOTEXISTS]user_name1[IDENTIFIEDBY'password'][,user_name2[IDENTIFIEDBY'password'][,…]];12.2用户管理【例12-3】创建两个新用户,test1的密码为abc123,test2的密码为654321,只能在本机登录。创建一个新用户test3,无密码,可以在任意客户机上连接MySQL服务器。CREATEUSER'test1'@'localhost'IDENTIFIEDBY'abc123','test2'@'localhost'IDENTIFIEDBY'654321',test3;12.2用户管理C:\Users\Administrator>mysql-utest1-p"abc123"12.2用户管理2.使用SELECT查看用户SELECT*FROMmysql.userWHEREUser='user_name'ANDHost='host_name';12.2用户管理【例12-4】查看主机上的所有用户名。SELECTHost,User,authentication_stringFROMmysql.user;12.2用户管理3.使用RENAMEUSER修改用户名RENAMEUSERold_user1TOnew_user1[,old_user2TOnew_user2,…]【例12-5】把本地用户test1的用户名改为Alex,主机名改为“%”;把root用户名改为admin。RENAMEUSER'test1'@'localhost'TO'Alex'@'%','root'@'localhost'TO'admin'@'%';12.2用户管理SELECTHost,User,authentication_stringFROMmysql.user;注意:要把admin用户名改回MySQL默认的用户名root。RENAMEUSER'admin'@'%'TO'root'@'localhost';12.2用户管理4.修改用户密码(1)使用ALTERUSER语句修改用户密码ALTERUSERuser_nameIDENTIFIEDBY'newpassword';【例12-6】把'Alex'@'%'用户的密码更改为“12345678”。ALTERUSER'Alex'@'%'IDENTIFIEDBY'12345678';12.2用户管理【例12-7】把root超级用户的密码更改为“abc123”。ALTERUSER'root'@'localhost'IDENTIFIEDBY'abc123';ALTERUSERUSER()IDENTIFIEDBY'abc123';12.2用户管理(2)使用SET语句修改用户密码SETPASSWORD[FORuser_name]='newpassword';【例12-8】当前使用root登陆MySQL服务器,把用户Alex的密码更改为“123456”。SETPASSWORDFOR'Alex'@'%'='123456';SETPASSWORD='abc123';12.2用户管理(3)使用mysqladmin.exe程序修改用户密码mysqladmin-uusername-p"userpassword"password"newpassword"12.2用户管理【例12-9】修改root用户的密码,登录密码为“abc123”,把密码更改为“123456”。1)C:\Users\Administrator>mysqladmin-uroot-pabc123password12345612.2用户管理2)C:\Users\Administrator>mysqladmin-uroot-ppassword1234563)C:\Users\Administrator>mysqladmin-uroot-ppassword12.2用户管理5.使用DROPUSER语句删除普通用户DROPUSERuser_name1[,user_name2…];【例12-10】删除名为test2的用户,其host值为localhost;删除用户test3,其host为%。SELECTHost,UserFROMmysql.user;DROPUSER'test2'@'localhost','test3'@'%';12.2用户管理12.2.2使用NavicatforMySQL管理用户账号查看用户【例12-11】在NavicatforMySQL中查看用户。12.2用户管理2.创建用户【例12-12】在NavicatforMySQL中创建用户Jack。12.2用户管理3.修改用户【例12-13】在NavicatforMySQL中修改用户Jack。12.2用户管理4.删除用户【例12-14】在NavicatforMySQL中删除用户Jack。12.2用户管理12.3账户权限管理12.3.1MySQL的权限级别全局权限级别12.2用户管理2.数据库权限级别12.2用户管理3.表权限级别12.2用户管理4.列权限级别12.2用户管理5.子程序权限级别12.2用户管理12.3.2权限类型12.2用户管理12.3.3授予用户权限用GRANT语句给用户授权GRANTpriv_type[(column_list)][,priv_type[(column_list)][,…]]ON[object_type]priv_levelTOuser_name[IDENTIFIEDBY'password'][,…][WITHGRANTOPTION];TABLE|FUNCTION|PROCEDUREpriv_level的格式为:*|*.*|db_name.*|db_name.table_name|table_name|db_name.routine_name12.2用户管理GRANT权限列表ON*.*TO账户名[WITHGRANTOPTION];GRANT权限列表ON数据库名.*TO账户名[WITHGRANTOPTION];GRANT权限列表ON数据库名.表名TO账户名[WITHGRANTOPTION];12.2用户管理GRANT权限类型(字段列表)[,…]ON数据库名.表名TO账户名[WITHGRANTOPTION];GRANTEXECUTE|ALTERROUTINE|CREATEROUTINEON{[*.*|数据库名.*]|PROCEDURE数据库名.存储过程}TO账户名[WITHGRANTOPTION];GRANTPROXYON账户名TO账户名1[,账户名2]...[WITHGRANTOPTION]12.2用户管理【例12-15】授予已存在用户Alex在studentinfo数据库中对student表执行SELECT的权限;对selectcourse表执行SELECT,对selectcourse表的Score、SelectCourseDate列执行UPDATE操作的权限。1)GRANTSELECTONstudentinfo.studentTO'Alex'@'%';GRANTSELECT,UPDATE(Score,SelectCourseDate)ONstudentinfo.SelectCourseTO'Alex'@'%';2)SELECTdb,table_name,table_priv,column_privFROMmysql.tables_privWHEREuser='Alex';12.2用户管理3)SELECTdb,table_name,column_name,column_privFROMmysql.columns_privWHEREuser='Alex';12.2用户管理【例12-16】创建两个新用户Jack和Merry,并设置登录口令;授予在数据库studentinfo中的所有表上拥有SELECT和UPDATE的权限。1)CREATEUSER'Jack'@'localhost'IDENTIFIEDBY'123','Merry'@'localhost'IDENTIFIEDBY'321';GRANTSELECT,UPDATEONstudentinfo.*TO'Jack'@'localhost','Merry'@'localhost';12.2用户管理2.权限的转移【例12-17】授予当前系统中的Jack用户在studentinfo数据库的student表上拥有SELECT、UPDATE和DELETE的权限,并允许将自身的这个权限授予其他用户。1)CREATEUSER'Lisa'@'localhost'IDENTIFIEDBY'abc';GRANTSELECT,UPDATE,DELETEONstudentinfo.studentTO'Jack'@'localhost'WITHGRANTOPTION;12.2用户管理2)C:\Users\Administrator>mysql-uJack-p123GRANTSELECT,UPDATE,DELETEONstudentinfo.studentTO'Lisa'@'localhost';12.2用户管理3)C:\Users\Administrator>mysql-uLisa–pabcUSEstudentinfo;SELECT*FROMstudentWHEREAddress='上海';SELECT*FROMclass;12.2用户管理12.3.4查看权限使用SHOWGRANTS查看指定用户账户的权限信息,基本语法格式为:SHOWGRANTSFOR'username'@'hostname';【例12-18】查看Lisa用户的权限信息。SHOWGRANTSFORLisa@localhost;12.2用户管理12.3.5权限的撤销撤销指定权限GRANTpriv_type[(column_list)][,priv_type[(column_list)]]…ON[object_type]priv_levelFROM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论