




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章MySQL安全管理 用户管理 权限控制 表维护语句 9 1用户管理 9 1 1添加 删除用户1 添加用户可以使用CREATEUSER语法添加一个或多个用户 并设置相应的密码 语法格式 CREATEUSER用户 IDENTIFIEDBY PASSWORD 密码 user IDENTIFIEDBY PASSWORD password 用户 用户名 主机名 9 1 1添加 删除用户 例9 1 添加两个新的用户 king的密码为queen palo的密码为530415 createuser king localhost identifiedby queen palo localhost identifiedby 530415 完成后可切换到mysql数据库 从user表中查到刚刚添加的两个用户记录 usemysqlshowtables select fromuser 结果如图9 1所示 9 1 1添加 删除用户 9 1 1添加 删除用户 2 删除用户语法格式 DROPUSER用户 用户 DROPUSER语句用于删除一个或多个MySQL账户 并取消其权限 要使用DROPUSER 必须拥有mysql数据库的全局CREATEUSER权限或DELETE权限 例9 2 删除用户palo dropuserpalo localhost 删除后可以用上面介绍的方法查看一下效果 9 1 2修改用户名 密码 1 修改用户名可以使用RENAMEUSER语句来修改一个已经存在的SQL用户的名字 语法格式 RENAMEUSER老用户TO新用户 老用户TO新用户 例9 3 将用户king的名字修改为ken renameuser king localhost to ken localhost 完成后可用前面介绍的方法查看一下是否修改成功 9 1 2修改用户名 密码 2 修改用户密码要修改某个用户的登录密码 可以使用SETPASSWORD语句 语法格式 SETPASSWORD FOR用户 PASSWORD 新密码 例9 4 将用户ken的密码修改为qen setpasswordfor ken localhost password qen 9 2权限控制 9 2 1授予权限可以授予的权限有以下几组 1 列权限 和表中的一个具体列相关 例如 使用UPDATE语句更新表xs学号列的值的权限 2 表权限 和一个具体表中的所有数据相关 例如 使用SELECT语句查询表xs的所有数据的权限 3 数据库权限 和一个具体的数据库中的所有表相关 例如 在已有的xscj数据库中创建新表的权限 4 用户权限 和MySQL所有的数据库相关 例如 删除已有的数据库或者创建一个新的数据库的权限 9 2 1授予权限 GRANT语法格式 GRANTpriv type 列名 ON object type 表名或视图名 数据库名 TO用户 IDENTIFIEDBY PASSWORD 密码 WITHwith option object type TABLE FUNCTION PROCEDUREwith option GRANTOPTION MAX QUERIES PER HOURcount MAX UPDATES PER HOURcount MAX CONNECTIONS PER HOURcount MAX USER CONNECTIONScount 9 2 1授予权限 1 授予表权限和列权限 1 授予表权限授予表权限时 priv type可以是以下值 SELECT 给予用户使用SELECT语句访问特定的表的权力 INSERT 给予用户使用INSERT语句向一个特定表中添加行的权力 DELETE 给予用户使用DELETE语句向一个特定表中删除行的权力 UPDATE 给予用户使用UPDATE语句修改特定表中值的权力 REFERENCES 给予用户创建一个外键来参照特定的表的权力 CREATE 给予用户使用特定的名字创建一个表的权力 ALTER 给予用户使用ALTERTABLE语句修改表的权力 INDEX 给予用户在表上定义索引的权力 DROP 给予用户删除表的权力 ALL或ALLPRIVILEGES 表示所有权限名 9 2 1授予权限 例9 5 授予用户ken在xs表上的SELECT权限 usexscj grantselectonxstoken localhost 若在TO子句中给存在的用户指定密码 则新密码将原密码覆盖 如果权限授予了一个不存在的用户 MySQL会自动执行一条CREATEUSER语句来创建这个用户 但必须为该用户指定密码 例9 6 用户liu和zhang不存在 授予它们在xs表上的SELECT和UPDATE权限 grantselect updateonxstoliu localhostidentifiedby lpwd zhang localhostidentifiedby zpwd 9 2 1授予权限 2 授予列权限对于列权限 priv type的值只能取SELECT INSERT和UPDATE 权限的后面需要加上列名column list 例9 7 授予ken在xs表上的学号列和姓名列的UPDATE权限 usexscjgrantupdate 姓名 学号 onxstoken localhost 9 2 1授予权限 2 授予数据库权限授予数据库权限时 priv type可以是以下值 SELECT 给予用户使用SELECT语句访问特定数据库中所有表和视图的权力 INSERT 给予用户使用INSERT语句向特定数据库中所有表添加行的权力 DELETE 给予用户使用DELETE语句删除特定数据库中所有表的行的权力 UPDATE 给予用户使用UPDATE语句更新特定数据库中所有表的值的权力 REFERENCES 给予用户创建指向特定的数据库中的表外键的权力 CREATE 给予用户使用CREATETABLE语句在特定数据库中创建新表的权力 ALTER 给予用户使用ALTERTABLE语句修改特定数据库中所有表的权力 INDEX 给予用户在特定数据库中的所有表上定义和删除索引的权力 DROP 给予用户删除特定数据库中所有表和视图的权力 CREATETEMPORARYTABLES 给予用户在特定数据库中创建临时表的权力 CREATEVIEW 给予用户在特定数据库中创建新的视图的权力 SHOWVIEW 给予用户查看特定数据库中已有视图的视图定义的权力 CREATEROUTINE 给予用户为特定的数据库创建存储过程和存储函数等权力 ALTERROUTINE 给予用户更新和删除数据库中已有的存储过程和存储函数等权力 EXECUTEROUTINE 给予用户调用特定数据库的存储过程和存储函数的权力 LOCKTABLES 给予用户锁定特定数据库的已有表的权力 ALL或ALLPRIVILEGES 表示以上所有权限名 9 2 1授予权限 在GRANT语法格式中 授予数据库权限时ON关键字后面跟 和 数据库 表示当前数据库中的所有表 数据库 表示某个数据库中的所有表 例9 8 授予ken在xscj数据库中的所有表的SELECT权限 grantselectonxscj token localhost 例9 9 授予ken在xscj数据库中所有的数据库权限 usexscj grantallon token localhost 和表权限类似 授予一个数据库权限也不意味着拥有另一个权限 9 2 1授予权限 3 授予用户权限MySQL授予用户权限时priv type还可以是以下值 CREATEUSER 给予用户创建和删除新用户的权力 SHOWDATABASES 给予用户使用SHOWDATABASES语句查看所有已有的数据库的定义的权利 9 2 1授予权限 在GRANT语法格式中 授予用户权限时ON子句中使用 表示所有数据库的所有表 例9 10 授予peter对所有数据库中的所有表的CREATE ALTERT和DROP权限 grantcreate alter dropon topeter localhostidentifiedby ppwd 例9 11 授予peter创建新用户的权力 grantcreateuseron topeter localhost 为了概括权限 表9 1列出了可以在哪些级别授予某条SQL语句权限 9 2 2权限转移和限制 例9 12 授予caddy在xs表上的SELECT权限 并允许其将该权限授予其他用户 首先在root用户下授予caddy用户SELECT权限 grantselectonxscj xstocaddy localhostidentifiedby 19830925 withgrantoption 接着 以caddy用户身份登录MySQL 登录方式为 1 打开命令行窗口 进入mysql安装目录下的bin目录 cdC ProgramFiles MySQL MySQLServer5 6 bin 2 登录 输入命令 mysql hlocalhost ucaddy p19830925其中 h后为主机名 u后为用户名 p后为密码 9 2 2权限转移和限制 登录后的界面如图9 2所示 9 2 2权限转移和限制 登录后 caddy用户只有查询xscj数据库中xs表的权利 它可以把这个权限传递给其他用户 这里假设用户Jim已经创建 grantselectonxscj xstoJim localhost 9 2 2权限转移和限制 WITH子句也可以对一个用户授予使用限制 其中 MAX QUERIES PER HOURcount表示每小时可以查询数据库的次数 MAX CONNECTIONS PER HOURcount表示每小时可以连接数据库的次数 MAX UPDATES PER HOURcount表示每小时可以修改数据库的次数 例9 13 授予Jim每小时只能处理一条SELECT语句的权限 grantselectonxstoJim localhostwithmax queries per hour1 9 2 3权限回收 要使用REVOKE 用户必须拥有mysql数据库的全局CREATEUSER权限或UPDATE权限 语法格式 REVOKEpriv type 列 ON 表名或视图名 数据库名 FROM用户 或者 REVOKEALLPRIVILEGES GRANTOPTIONFROM用户 9 2 3权限回收 例9 14 回收用户caddy在xs表上的SELECT权限 usexscjrevokeselectonxsfromcaddy localhost 9 3表维护语句 9 3 1索引列可压缩性语句 ANALYZETABLE一个索引列的可压缩性不是自动更新的 就是说 用户在某列创建了一个索引 而该列的可压缩性是不会立即计算出来的 这时需要使用ANALYZETABLE语句来更新它 语法格式 ANALYZE LOCAL NO WRITE TO BINLOG TABLE表名 在MySQL上执行的所有更新都将写入到一个二进制日志文件中 这里如果直接使用ANALYZETABLE语句 结果数据也会写入日志文件中 9 3 1索引列可压缩性语句 ANALYZETABLE 例9 15 更新表xs的索引的可压缩性 并随后显示 analyzetablexs showindexfromxs 执行结果为 9 3 2检查表是否有错语句 CHECKTABLE 这条语句用来检查一个或多个表是否有错误 只对MyISAM和InnoDB表起作用 语法格式 CHECKTABLE表名 option Option QUICK FAST MEDIUM EXTENDED CHANGED其中 QUICK 不扫描行 不检查错误的链接 这是最快的方法 FAST 检查表是否已经正确关闭 CHANGED 检查上次检查后被更改的表 以及没有被正确关闭的表 MEDIUM 扫描行 以验证被删除的链接是有效的 EXTENDED 对每行的所有关键字进行全面的关键字查找 9 3 2检查表是否有错语句 CHECKTABLE 例9 16 检查xs表是否正确 checktablexs 执行结果如图所示 9 3 3获得表校验和语句 CHECKSUMTABLE 对于数据库中的每一个表 都可以使用CHECKSUMTABLE语句获得一个校验和 语法格式 CHECKSUMTABLE表名 QUICK EXTENDED 例9 17 获得表xs的校验和的值 checksumtablexs 执行结果如图所示 9 3 4优化表语句 OPTIMIZETABLE OPTIMIZETABLE语句只对MyISAM BDB和InnoDB表起作用 语法格式 OPTIMIZE LOCAL NO WRITE TO BINLOG TABLE表名 例9 18 优化xs表 optimizetablekc 9 3 5修复表语句 REPAIRTABLE 如果一个表或索引已经损坏 可以使用REPAIRTABLE语句尝试修复它 REPAIRTABLE只对MyISAM和ARCHIVE表起作用 REPAIR LOCAL NO WRITE TO BINLOG TABLE表名 QUICK EXTENDED USE FRM 说明 REPAIRTABLE语句支持以下选项 QUICK 如果指定了该选项 则REPAIRTABLE会尝试只修复索引
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【教案版】小学四班级下册 跳跃2
- 中国舞蹈音乐教学课件
- 2025年船舶驾驶员适任考试模拟题与答案解析
- 2025年行政主管招聘面试预测题及实战演练指南
- 2025年制造业招聘面试模拟题及答案详解手册
- 2025年护士执业资格考试实操技能部分要点梳理及模拟题
- 初中数学教学设计及课件
- 2025年钎焊工艺考试重点及应试技巧
- 会演戏的玩具教学课件
- 申通快递安全知识培训课件
- 助产专业介绍
- 2025年职业卫生培训试题及答案
- 工程项目招投标流程及风险防控措施
- 《电机与拖动基础》课件(共十一章)
- 民宿合伙协议书范本
- 医学检验质量培训
- 2025年洛阳理工学院招聘硕士研究生学历专任教师考试笔试试题(含答案)
- 新学期教学工作会议上校长讲话:把功夫下在课堂里把心思放在学生上把质量落到细节中
- 愚公移山英文 -中国故事英文版课件
- NBT-4701焊接工艺评定中英文格式-填写范本-20
- 远洋航线设计、航法及气象导航
评论
0/150
提交评论