MySQL安全管理课件_第1页
MySQL安全管理课件_第2页
MySQL安全管理课件_第3页
MySQL安全管理课件_第4页
MySQL安全管理课件_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

第9章

MySQL安全管理用户管理9.19.2权限控制表维护语句9.31ppt课件.第9章MySQL安全管理用户管理9.19.2权限控制表维9.1用户管理9.1.1添加、删除用户1.添加用户可以使用CREATEUSER语法添加一个或多个用户,并设置相应的密码。语法格式:CREATEUSERuser[IDENTIFIEDBY[PASSWORD]'password'][,user[IDENTIFIEDBY[PASSWORD]'password']]...其中,user的格式为:'user_name'@'hostname'2ppt课件.9.1用户管理9.1.1添加、删除用户2ppt课件.9.1.1添加、删除用户【例9.1】添加两个新的用户,king的密码为queen,palo的密码为530415。createuser'king'@'localhost'identifiedby'queen','palo'@'localhost'identifiedby'530415';完成后可切换到mysql数据库,从user表中查到刚刚添加的两个用户记录:usemysqlshowtables;select*fromuser3ppt课件.9.1.1添加、删除用户【例9.1】添加两个新的用户,k9.1.1添加、删除用户结果如图9.1所示。4ppt课件.9.1.1添加、删除用户结果如图9.1所示。4ppt课件9.1.1添加、删除用户2.删除用户语法格式:DROPUSERuser[,user_name]...DROPUSER语句用于删除一个或多个MySQL账户,并取消其权限。要使用DROPUSER,必须拥有mysql数据库的全局CREATEUSER权限或DELETE权限。【例9.2】删除用户palo。dropuserpalo@localhost;删除后可以用上面介绍的方法查看一下效果。5ppt课件.9.1.1添加、删除用户2.删除用户5ppt课件.9.1.2修改用户名、密码1.修改用户名可以使用RENAMEUSER语句来修改一个已经存在的SQL用户的名字。语法格式:RENAMEUSERold_userTOnew_user,[,old_userTOnew_user]...【例9.3】将用户king的名字修改为ken。renameuser 'king'@'localhost'to'ken'@'localhost';6ppt课件.9.1.2修改用户名、密码1.修改用户名6ppt课件.9.1.2修改用户名、密码2.修改密码要修改某个用户的登录密码,可以使用SETPASSWORD语句。语法格式:SETPASSWORD[FORuser]=PASSWORD('newpassword')【例9.4】将用户ken的密码修改为qen。setpasswordfor'ken'@'localhost'=password('qen');7ppt课件.9.1.2修改用户名、密码2.修改密码7ppt课件.9.2权限控制9.2.1授予权限可以授予的权限有以下几组。(1)列权限:和表中的一个具体列相关。例如,使用UPDATE语句更新表xs学号列的值的权限。(2)表权限:和一个具体表中的所有数据相关。例如,使用SELECT语句查询表xs的所有数据的权限。(3)数据库权限:和一个具体的数据库中的所有表相关。例如,在已有的xscj数据库中创建新表的权限。(4)用户权限:和MySQL所有的数据库相关。例如,删除已有的数据库或者创建一个新的数据库的权限。8ppt课件.9.2权限控制9.2.1授予权限8ppt课件.9.2.1授予权限GRANT语法格式:GRANTpriv_type[(column_list)][,priv_type[(column_list)]]...ON[object_type]{tbl_name|*|*.*|db_name.*}TOuser[IDENTIFIEDBY[PASSWORD]'password'][,user[IDENTIFIEDBY[PASSWORD]'password']]...[WITHwith_option[with_option]...]其中,object_type:TABLE|FUNCTION|PROCEDUREwith_option:GRANTOPTION|MAX_QUERIES_PER_HOURcount|MAX_UPDATES_PER_HOURcount|MAX_CONNECTIONS_PER_HOURcount|MAX_USER_CONNECTIONScount9ppt课件.9.2.1授予权限GRANT语法格式:9ppt课件.9.2.1授予权限(1)授予表权限和列权限授予表权限时,priv_type可以是以下值:SELECT:给予用户使用SELECT语句访问特定的表的权力。INSERT:给予用户使用INSERT语句向一个特定表中添加行的权力。DELETE:给予用户使用DELETE语句向一个特定表中删除行的权力。UPDATE:给予用户使用UPDATE语句修改特定表中值的权力。REFERENCES:给予用户创建一个外键来参照特定的表的权力。CREATE:给予用户使用特定的名字创建一个表的权力。ALTER:给予用户使用ALTERTABLE语句修改表的权力。INDEX:给予用户在表上定义索引的权力。DROP:给予用户删除表的权力。ALL或ALLPRIVILEGES:表示所有权限名。10ppt课件.9.2.1授予权限(1)授予表权限和列权限10ppt课件9.2.1授予权限【例9.5】授予用户ken在xs表上的SELECT权限。usexscj;grantselectonxstoken@localhost;【例9.6】用户liu和zhang不存在,授予它们在xs表上的SELECT和UPDATE权限。grantselect,updateonxstoliu@localhostidentifiedby'lpwd',zhang@localhostidentifiedby'zpwd';11ppt课件.9.2.1授予权限【例9.5】授予用户ken在xs表上的9.2.1授予权限【例9.7】授予ken在xs表上的学号列和姓名列的UPDATE权限。usexscjgrantupdate(姓名,学号) onxs token@localhost;12ppt课件.9.2.1授予权限【例9.7】授予ken在xs表上的学号9.2.1授予权限(2)授予数据库权限授予数据库权限时,priv_type可以是以下值:SELECT:给予用户使用SELECT语句访问特定数据库中所有表和视图的权力。INSERT:给予用户使用INSERT语句向特定数据库中所有表添加行的权力。DELETE:给予用户使用DELETE语句删除特定数据库中所有表的行的权力。UPDATE:给予用户使用UPDATE语句更新特定数据库中所有表的值的权力。REFERENCES:给予用户创建指向特定的数据库中的表外键的权力。CREATE:给予用户使用CREATETABLE语句在特定数据库中创建新表的权力。ALTER:给予用户使用ALTERTABLE语句修改特定数据库中所有表的权力。INDEX:给予用户在特定数据库中的所有表上定义和删除索引的权力。DROP:给予用户删除特定数据库中所有表和视图的权力。CREATETEMPORARYTABLES:给予用户在特定数据库中创建临时表的权力。CREATEVIEW:给予用户在特定数据库中创建新的视图的权力。13ppt课件.9.2.1授予权限(2)授予数据库权限13ppt课件.9.2.1授予权限SHOWVIEW:给予用户查看特定数据库中已有视图的视图定义的权力。CREATEROUTINE:给予用户为特定的数据库创建存储过程和存储函数等权力。ALTERROUTINE:给予用户更新和删除数据库中已有的存储过程和存储函数等权力。EXECUTEROUTINE:给予用户调用特定数据库的存储过程和存储函数的权力。LOCKTABLES:给予用户锁定特定数据库的已有表的权力。ALL或ALLPRIVILEGES:表示以上所有权限名。14ppt课件.9.2.1授予权限SHOWVIEW:给予用户查看特定数9.2.1授予权限【例9.8】授予ken在xscj数据库中的所有表的SELECT权限。grantselectonxscj.*token@localhost;【例9.9】授予ken在xscj数据库中所有的数据库权限。usexscj;grantallon*token@localhost;15ppt课件.9.2.1授予权限【例9.8】授予ken在xscj数据库9.2.1授予权限(3)授予用户权限MySQL授予用户权限时priv_type还可以是以下值。CREATEUSER:给予用户创建和删除新用户的权力。SHOWDATABASES:给予用户使用SHOWDATABASES语句查看所有已有的数据库的定义的权利。【例9.10】授予peter对所有数据库中的所有表的CREATE、ALTERT和DROP权限。grantcreate,alter,dropon*.*topeter@localhostidentifiedby'ppwd';【例9.11】授予peter创建新用户的权力。grantcreateuseron*.*topeter@localhost;为了概括权限,表9.1列出了可以在哪些级别授予某条SQL语句权限。16ppt课件.9.2.1授予权限(3)授予用户权限16ppt课件.9.2.2权限转移和限制【例9.12】授予caddy在xs表上的SELECT权限,并允许其将该权限授予其他用户。首先在root用户下授予caddy用户SELECT权限:grantselectonxscj.xstocaddy@localhostidentifiedby'19830925'withgrantoption;(1)打开命令行窗口,进入mysql安装目录下的bin目录:cdC:\ProgramFiles\MySQL\MySQLServer5.6\bin(2)登录,输入命令:mysql-hlocalhost-ucaddy-p19830925其中,-h后为主机名,-u后为用户名,-p后为密码。17ppt课件.9.2.2权限转移和限制【例9.12】授予caddy在x9.2.2权限转移和限制登录后的界面如图9.2所示。18ppt课件.9.2.2权限转移和限制登录后的界面如图9.2所示。189.2.2权限转移和限制登录后,caddy用户只有查询xscj数据库中xs表的权利,它可以把这个权限传递给其他用户,这里假设用户Jim已经创建:grantselectonxscj.xstoJim@localhost;【例9.13】授予Jim每小时只能处理一条SELECT语句的权限。grantselectonxstoJim@localhostwithmax_queries_per_hour1;

19ppt课件.9.2.2权限转移和限制登录后,caddy用户只有查询x9.2.3权限回收要使用REVOKE,用户必须拥有mysql数据库的全局CREATEUSER权限或UPDATE权限。语法格式:REVOKEpriv_type[(column_list)][,priv_type[(column_list)]]...ON{tbl_name|*|*.*|db_name.*}FROMuser[,user]...或者:REVOKEALLPRIVILEGES,GRANTOPTIONFROMuser[,user]...【例9.14】回收用户caddy在xs表上的SELECT权限。usexscjrevokeselectonxsfromcaddy@localhost;20ppt课件.9.2.3权限回收要使用REVOKE,用户必须拥有mys9.3表维护语句9.3.1ANALYZETABLE语句一个索引列的可压缩性不是自动更新的。就是说,用户在某列创建了一个索引,而该列的可压缩性是不会立即计算出来的。这时需要使用ANALYZETABLE语句来更新它。语法格式:ANALYZE[LOCAL|NO_WRITE_TO_BINLOG]TABLEtbl_name[,tbl_name]...在MySQL上执行的所有更新都将写入到一个二进制日志文件中。21ppt课件.9.3表维护语句9.3.1ANALYZETABLE9.3.1ANALYZETABLE语句【例9.15】更新表xs的索引的可压缩性,并随后显示。analyzetablexs;showindexfromxs;执行结果为:22ppt课件.9.3.1ANALYZETABLE语句【例9.15】更9.3.2CHECKTABLE语句这条语句用来检查一个或多个表是否有错误,只对MyISAM和InnoDB表起作用。语法格式:CHECKTABLEtbl_name[,tbl_name]...[option]...其中,option为:QUICK|FAST|MEDIUM|EXTENDED|CHANGED【例9.16】检查xs表是否正确。checktablexs;执行结果如图所示。23ppt课件.9.3.2CHECKTABLE语句这条语句用来检查一个9.3.3CHECKSUMTABLE语句对于数据库中的每一个表,都可以使用CHECKSUMTABLE语句获得一个校验和。语法格式:CHECKSUMTABLEtbl_name[,tbl_name]...[QUICK|EXTENDED]【例9.17】获得表xs的校验和的值。checksumtablexs;执行结果如图所示。24ppt课件.9.3.3CHECKSUMTABLE语句对于数据库中的9.3.4OPTIMIZETABLE语句OPTIMIZETABLE语句只对MyISAM、BDB和InnoDB表起作用。语法格式:OPTIMIZE[LOCAL|NO_WRITE_TO_BINLOG]TABLEtbl_name[,tbl_name]...【例9.18】优化xs表。optimizetablekc;25ppt课件.9.3.4OPTIMIZETABLE语句OPTIMIZ9.3.5REPAIRTABLE语句如果一个表或索引已经损坏,可以使用REPAIRTABLE语句尝试修复它。REPAIRTABLE只对MyISAM和ARCHIVE表起作用。REPAIR[LOCAL|NO_WRITE_TO_BINLOG]TABLEtbl_name[,tbl_name]...[QUICK][EXTENDED][USE_FRM]说明:REPAIRTABLE语句支持以下选项:QUICK:如果指定了该选项,则REPAIRTABLE会尝试只修复索引树。EXTENDED:使用该选项,则MySQL会一行一行地创建索引行,代替使用分类一次创建一个索引。USE_FRM:如果MYI索引文件缺失或标题被破坏,则必须使用此选项。26ppt课件.9.3.5REPAIRTABLE语句如果一个表或索引已9.3.5REPAIRTABLE语句27ppt课件.9.3.5REPAIRTABLE语句27ppt课件.此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!此课件下载可自行编辑修改,供参考!第9章

MySQL安全管理用户管理9.19.2权限控制表维护语句9.329ppt课件.第9章MySQL安全管理用户管理9.19.2权限控制表维9.1用户管理9.1.1添加、删除用户1.添加用户可以使用CREATEUSER语法添加一个或多个用户,并设置相应的密码。语法格式:CREATEUSERuser[IDENTIFIEDBY[PASSWORD]'password'][,user[IDENTIFIEDBY[PASSWORD]'password']]...其中,user的格式为:'user_name'@'hostname'30ppt课件.9.1用户管理9.1.1添加、删除用户2ppt课件.9.1.1添加、删除用户【例9.1】添加两个新的用户,king的密码为queen,palo的密码为530415。createuser'king'@'localhost'identifiedby'queen','palo'@'localhost'identifiedby'530415';完成后可切换到mysql数据库,从user表中查到刚刚添加的两个用户记录:usemysqlshowtables;select*fromuser31ppt课件.9.1.1添加、删除用户【例9.1】添加两个新的用户,k9.1.1添加、删除用户结果如图9.1所示。32ppt课件.9.1.1添加、删除用户结果如图9.1所示。4ppt课件9.1.1添加、删除用户2.删除用户语法格式:DROPUSERuser[,user_name]...DROPUSER语句用于删除一个或多个MySQL账户,并取消其权限。要使用DROPUSER,必须拥有mysql数据库的全局CREATEUSER权限或DELETE权限。【例9.2】删除用户palo。dropuserpalo@localhost;删除后可以用上面介绍的方法查看一下效果。33ppt课件.9.1.1添加、删除用户2.删除用户5ppt课件.9.1.2修改用户名、密码1.修改用户名可以使用RENAMEUSER语句来修改一个已经存在的SQL用户的名字。语法格式:RENAMEUSERold_userTOnew_user,[,old_userTOnew_user]...【例9.3】将用户king的名字修改为ken。renameuser 'king'@'localhost'to'ken'@'localhost';34ppt课件.9.1.2修改用户名、密码1.修改用户名6ppt课件.9.1.2修改用户名、密码2.修改密码要修改某个用户的登录密码,可以使用SETPASSWORD语句。语法格式:SETPASSWORD[FORuser]=PASSWORD('newpassword')【例9.4】将用户ken的密码修改为qen。setpasswordfor'ken'@'localhost'=password('qen');35ppt课件.9.1.2修改用户名、密码2.修改密码7ppt课件.9.2权限控制9.2.1授予权限可以授予的权限有以下几组。(1)列权限:和表中的一个具体列相关。例如,使用UPDATE语句更新表xs学号列的值的权限。(2)表权限:和一个具体表中的所有数据相关。例如,使用SELECT语句查询表xs的所有数据的权限。(3)数据库权限:和一个具体的数据库中的所有表相关。例如,在已有的xscj数据库中创建新表的权限。(4)用户权限:和MySQL所有的数据库相关。例如,删除已有的数据库或者创建一个新的数据库的权限。36ppt课件.9.2权限控制9.2.1授予权限8ppt课件.9.2.1授予权限GRANT语法格式:GRANTpriv_type[(column_list)][,priv_type[(column_list)]]...ON[object_type]{tbl_name|*|*.*|db_name.*}TOuser[IDENTIFIEDBY[PASSWORD]'password'][,user[IDENTIFIEDBY[PASSWORD]'password']]...[WITHwith_option[with_option]...]其中,object_type:TABLE|FUNCTION|PROCEDUREwith_option:GRANTOPTION|MAX_QUERIES_PER_HOURcount|MAX_UPDATES_PER_HOURcount|MAX_CONNECTIONS_PER_HOURcount|MAX_USER_CONNECTIONScount37ppt课件.9.2.1授予权限GRANT语法格式:9ppt课件.9.2.1授予权限(1)授予表权限和列权限授予表权限时,priv_type可以是以下值:SELECT:给予用户使用SELECT语句访问特定的表的权力。INSERT:给予用户使用INSERT语句向一个特定表中添加行的权力。DELETE:给予用户使用DELETE语句向一个特定表中删除行的权力。UPDATE:给予用户使用UPDATE语句修改特定表中值的权力。REFERENCES:给予用户创建一个外键来参照特定的表的权力。CREATE:给予用户使用特定的名字创建一个表的权力。ALTER:给予用户使用ALTERTABLE语句修改表的权力。INDEX:给予用户在表上定义索引的权力。DROP:给予用户删除表的权力。ALL或ALLPRIVILEGES:表示所有权限名。38ppt课件.9.2.1授予权限(1)授予表权限和列权限10ppt课件9.2.1授予权限【例9.5】授予用户ken在xs表上的SELECT权限。usexscj;grantselectonxstoken@localhost;【例9.6】用户liu和zhang不存在,授予它们在xs表上的SELECT和UPDATE权限。grantselect,updateonxstoliu@localhostidentifiedby'lpwd',zhang@localhostidentifiedby'zpwd';39ppt课件.9.2.1授予权限【例9.5】授予用户ken在xs表上的9.2.1授予权限【例9.7】授予ken在xs表上的学号列和姓名列的UPDATE权限。usexscjgrantupdate(姓名,学号) onxs token@localhost;40ppt课件.9.2.1授予权限【例9.7】授予ken在xs表上的学号9.2.1授予权限(2)授予数据库权限授予数据库权限时,priv_type可以是以下值:SELECT:给予用户使用SELECT语句访问特定数据库中所有表和视图的权力。INSERT:给予用户使用INSERT语句向特定数据库中所有表添加行的权力。DELETE:给予用户使用DELETE语句删除特定数据库中所有表的行的权力。UPDATE:给予用户使用UPDATE语句更新特定数据库中所有表的值的权力。REFERENCES:给予用户创建指向特定的数据库中的表外键的权力。CREATE:给予用户使用CREATETABLE语句在特定数据库中创建新表的权力。ALTER:给予用户使用ALTERTABLE语句修改特定数据库中所有表的权力。INDEX:给予用户在特定数据库中的所有表上定义和删除索引的权力。DROP:给予用户删除特定数据库中所有表和视图的权力。CREATETEMPORARYTABLES:给予用户在特定数据库中创建临时表的权力。CREATEVIEW:给予用户在特定数据库中创建新的视图的权力。41ppt课件.9.2.1授予权限(2)授予数据库权限13ppt课件.9.2.1授予权限SHOWVIEW:给予用户查看特定数据库中已有视图的视图定义的权力。CREATEROUTINE:给予用户为特定的数据库创建存储过程和存储函数等权力。ALTERROUTINE:给予用户更新和删除数据库中已有的存储过程和存储函数等权力。EXECUTEROUTINE:给予用户调用特定数据库的存储过程和存储函数的权力。LOCKTABLES:给予用户锁定特定数据库的已有表的权力。ALL或ALLPRIVILEGES:表示以上所有权限名。42ppt课件.9.2.1授予权限SHOWVIEW:给予用户查看特定数9.2.1授予权限【例9.8】授予ken在xscj数据库中的所有表的SELECT权限。grantselectonxscj.*token@localhost;【例9.9】授予ken在xscj数据库中所有的数据库权限。usexscj;grantallon*token@localhost;43ppt课件.9.2.1授予权限【例9.8】授予ken在xscj数据库9.2.1授予权限(3)授予用户权限MySQL授予用户权限时priv_type还可以是以下值。CREATEUSER:给予用户创建和删除新用户的权力。SHOWDATABASES:给予用户使用SHOWDATABASES语句查看所有已有的数据库的定义的权利。【例9.10】授予peter对所有数据库中的所有表的CREATE、ALTERT和DROP权限。grantcreate,alter,dropon*.*topeter@localhostidentifiedby'ppwd';【例9.11】授予peter创建新用户的权力。grantcreateuseron*.*topeter@localhost;为了概括权限,表9.1列出了可以在哪些级别授予某条SQL语句权限。44ppt课件.9.2.1授予权限(3)授予用户权限16ppt课件.9.2.2权限转移和限制【例9.12】授予caddy在xs表上的SELECT权限,并允许其将该权限授予其他用户。首先在root用户下授予caddy用户SELECT权限:grantselectonxscj.xstocaddy@localhostidentifiedby'19830925'withgrantoption;(1)打开命令行窗口,进入mysql安装目录下的bin目录:cdC:\ProgramFiles\MySQL\MySQLServer5.6\bin(2)登录,输入命令:mysql-hlocalhost-ucaddy-p19830925其中,-h后为主机名,-u后为用户名,-p后为密码。45ppt课件.9.2.2权限转移和限制【例9.12】授予caddy在x9.2.2权限转移和限制登录后的界面如图9.2所示。46ppt课件.9.2.2权限转移和限制登录后的界面如图9.2所示。189.2.2权限转移和限制登录后,caddy用户只有查询xscj数据库中xs表的权利,它可以把这个权限传递给其他用户,这里假设用户Jim已经创建:grantselectonxscj.xstoJim@localhost;【例9.13】授予Jim每小时只能处理一条SELECT语句的权限。grantselectonxstoJim@localhostwithmax_queries_per_hour1;

47ppt课件.9.2.2权限转移和限制登录后,caddy用户只有查询x9.2.3权限回收要使用REVOKE,用户必须拥有mysql数据库的全局CREATEUSER权限或UPDATE权限。语法格式:REVOKEpriv_type[(column_list)][,priv_type[(column_list)]]...ON{tbl_name|*|*.*|db_name.*}FROMuser[,user]...或者:REVOKEALLPRIVILEGES,GRANTOPTIONFROMuser[,user]...【例9.14】回收用户caddy在xs表上的SELECT权限。usexscjrevokeselectonxsfromcaddy@localhost;48ppt课件.9.2.3权限回收要使用REVOKE,用户必须拥有mys9.3表维护语句9.3.1ANALYZETABLE语句一个索引列的可压缩性不是自动更新的。就是说,用户在某列创建了一个索引,而该列的可压缩性是不会立即计算出来的。这时需要使用ANALYZETABLE语句来更新它。语法格式:ANALYZE[LOCAL

温馨提示

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

评论

0/150

提交评论