MySQL数据库管理之权限管理_第1页
MySQL数据库管理之权限管理_第2页
MySQL数据库管理之权限管理_第3页
MySQL数据库管理之权限管理_第4页
全文预览已结束

下载本文档

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

文档简介

1、mysql数据库管理之权限管理小编做客服有一阵子了,总是有人在qq群或者论坛上问关于mysql权限的问题,今天就总结一下关于 mysql数据库的权限管理的经验。希望大家看完有所收获啦一、mysql权限简介关于mysql的权限简单的理解就是mysql允许你做你权利以内的枣情,不可以越界。比如只允许你执行 selec【操作,那么你就不能执行叩dale操作。只允许你从某台机器上连接mysql,那么你就不能从除那台机 器以外的其他机器连接mysql。那么mysql的权限是如何实现的呢?这就要说到mysql的两阶段的验证,下ifli详细來介绍:第一阶段:服务器首先会检查你是否允许连接。因为创建用户的时候

2、会加上主机限制,可以限制成本 地、某个ip、某个ip段、以及任何地方等,只允许你从配置的指定地方登录。后面在实战的时候会详细说 关于主机的限制。第二阶段:如果你能连接,mysql会检査你发出的每个请求,看你是否有足够的权限实施它。比如 你要更新某个表、或者查询某个表,mysql会检查你对哪个表或者某个列是否冇权限。再比如,你耍运 行某个存储过程,mysql会检査你对存储过程是否有执行权限等。mysql到底都有哪些权限呢?从官网复制一个表来看看:权限权限级别权限说明create数据库、表或索引创建数据库、表或索引权限drop数据库或表删除数据库或表权限grant option数据库、表或保存的程

3、序赋予权限选项references数据库或表alter表更改表,比如添加字段、索引等delete农删除数据权限index表索引权限insert表插入权限select农查询权限update表更新权限create view视图创建视图权限show view视图查看视图权限alter routine存储过程更改存储过程权限create routine存储过程创建存储过程权限execute存储过程执行存储过程权限file服务器主机上的文件访问文件访问权限create temporaryt/xbles服务器管理创建临时表权限lock tables服务器管理锁表权限create user服务器管理创建用户

4、权限process服务器管理查看进程权限reload服务器管理执行 flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables» flush-threads, refreshi reload等命令的权限replication client服务器管理复制权限replication slave服务器管理复制权限show databases服务器管理查看数拥库权限shutdown服务器管理关闭数据库权限super服务器管理执行kill线程权限mysql的权限如何分布,就是针对表可以设置什么权限,针对列可以设置什

5、么权限等等,这个可以 从官方文档中的一个表来说明:权限分布可能的设置的权限表权限'select;tnsert;°updatetdeletetcreatetdroptgrant:,references,index,/alter,列权限,select,insert,/update,references,过程权限'execute1/alter, routinevgrant*针对权限这部分,最主耍的是要知道mysql是如何验证的(两阶段验证),以及mysql各个权限是做什 么用的,以及那些权限用在什么地方(表列?)。如杲这些把握了那么mysql权限对你来说就是小菜一碟 了,只

6、要看一下后面的权限管理就可以融会贯通了。二、mysql权限经验原则权限控制主耍是出于安全因索,因此需耍遵循一下儿个经验原则:1. 只授予能满足需要的最小权限,防止用户干坏事。哈哈。比如用户只是需要查询,那就只给seleci 权限就可以了,不要给用户赋予update> insert或者delete权限。2. 创建用户的吋候限制用户的登录主机,一般是限制成指定ip或者内网【p段。3. 初始化数据库的时候删除没有密码的用户。安装完数据库的时候会自动创建一些用户,这些用户默 认没有密码。4. 为每个用户设置满足密码复杂度的密码。5. 定期淸理不需要的用户。冋收权限或者删除用户。三、mysql权限

7、实战l grant命令使用说明先來看一个例子,创建一个只允许从本地登录的超级用户feihong,并允许将权限赋了别的用户,密码 为 testfeihong.l 11grant all privileges on * * to feihong,localhosf identified by 'testfeihong.l 1t with grant option;grant命令说明:all privileges是衣示所冇权限,你也可以使用select, update等权限提到的权限。on用來指定权限针对哪些库和表。*中前而的*号用來指定数据库名,后面的*号用來指定表名。to表示将权限赋了某

8、个用户。feihong'localhost'表示fcihong jij户,后面接限制的主机,可以是ip、ip段、域名以及, %表示 任何地方。注意:这里有的版木不包js本地,以前碰到过给某个用户设置了允许任何地方登录,但是 在木地登录不了,这个和版木有关系,遇到这个问题再加一个localhost的用户就可以了。identified by指定用戸的登录密码。with grant option这个选项表示该用户可以将自己拥冇的权限授权给别人。注意:经常冇人在 创建操作用户的时候不指定with grant option选项导致后來该用户不能使用grant命令创建用户 或者给其他用户授

9、权。备注:可以使用grant重复给用户添加权限,权限叠加,比如你先给用户添加了一个select权限, 然后乂给用八添加了一个insert权限,那么该用八就同时拥冇了 select和insert权限。2. 创建一个超级用户创建一个只允许从木地登录的超级用户fcihong,并允许将权限赋予别的用户,密码为tcstfcihong. 111grant all privileges on *.* to feihong'localhost' identified by 'testfeihong.lir with grant option;3. 创建一个网站用户(程序用户)创建一个一

10、般的程序用户,这个用户可能只需要select, insert, update, delete, create temporary tables等权限如果冇存储过程还需要加上execute权限,一般是指定内网网段 192.168.100 网段。grant usage,select, insert, update, delete, show view ,create temporary tables,execute on 'test'.* to webuser'192.i68.100.%' identified by 'testfeihong.111'

11、;4. 创建一个普通用户(仅有查询权限)grant usage,select on 'test'.* to public©192.16&i()().%' identified by publicfeihong.ll 1'5. 刷新权限使川这个命令使权限生效,尤其是你对那些权限农user、db> host等做了 update或者' delete更新的时 候。以前遇到过使用gnml后权限没有更新的情况,大家可以养成习惯,只要对权限做了更改就使用flush privileges命令來刷新权限。flush privileges;6. 查看权限使川如下命令可以方便的查看到某个川户的权限:show grants for 'webuser't92.168.100.%'7. 回收权限将询面创建的webuser用户的delete权限回收,使用如下命令revoke delete on test.* from 'wcbuscr''192.168.100.%'&删除用户注意删除用户不要使用d

温馨提示

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

评论

0/150

提交评论