admin管理员组文章数量:1635376
360行,行行出状元。只会数据库是否能拿到高工资?可以,这个职业很厉害就是传说中的DBA,开发很多,DBA不多。今天要讲的内容跟DBA有很大关系,想做DBA权限管理是很重要的,今天就讲一下mysql中的权限管理。
一、用户管理;
1、切换数据库;
如下图所示,将界面切换至命令界面;
输入命令use mysql;这句代码意思是切换数据库,切换到mysql这个数据库下面,因为用户信息在mysql下的user表内存储着。
2、创建用户;
如下图所示,输入代码:create user 'laohan'@'%' identified by '123456';其中create是关键字创建的意思,凡是创建的对象都是使用该关键字,user表示用户,就像“table”一样,第一个单引号中是用户名,“@”固定写法,后面跟用户可登陆的IP,“%”表示可以在任何地方登陆,如果这个地方写成“localhost”的话该用户就没有使用navicat远程登陆数据库的权限了,identified by后面跟密码,中文意思是以什么为认证,最后是密码。
3、删除用户;
语句:drop user 'laohan';该语句为删除用户语句。
4、用户帐号修改;
语句:rename user 'laohan' to 'han';rename表示重命名的意思,to前面为修改前的账号名,to后面跟要修改为的账号名。
5、修改密码;
语句:alter user 'han'@'%' identified by '654321'; alter关键字是修改的意思。
二、权限管理;
1、分配权限;
语句:GRANT EXECUTE,INSERT,SELECT,UPDATE ON laohan.* TO 'han'@'%';grant表示赋权的意思,“execute”表示有执行存储过程的权利,后面再讲这个,“insert”表示有插入数据的权限,“select”表示有查询的权限,“update”表示有更新数据的权限,on关键字后面跟对象,“laohan.*”表示数据库laohan中的所有对象的权限,to后面跟用户,前面的所有的权限可以使用all来代替。
执行完上面语句之后可以执行一下语句:FLUSH PRIVILEGES;表示刷新一下,让修改立即生效。
2、查看用户的权限;
语句:show grants for han;
如下图所示;会将该用户的权限列出来。
3、权限回收;
语句:revoke update on laohan.* from han;
revoke取消的意思,后面跟权限,多个权限的时候使用逗号隔开,on 后面跟对象,from 后面跟用户,前面赋权的时候跟to,现在取消使用from,不要搞错了,全部权限的话可以使用all(不能精准的取消权限,全部都收回)。
4、角色权限;
数据库权限管理过程中我们可以建角色,比如只读角色、可插入数据角色等,使用role关键字来创建,创建了帐号之后可以使用grant把该角色与帐号绑定,实现权限控制,这里老韩不详细介绍了,有兴趣的可以自行学习一下。
总结,上面内容中有些点需要注意,创建用户“@”后面跟的那个地址表示是这个用户可以在这个地址上访问数据库,比如我安装了一个数据库,只允许本机访问,建用户的时候@后面都设置为localhost即可,如果只允许内网访问,@后IP只写内网IP即可,当然这里是没有进行端口映射。权限管理在实际工作中很重要,如公司来了一个新员工,新员工技术有待观察,我肯定不会把root的权限给他的(实际工作中DBA不会吧root的权限交给任何人),那我就新建一个临时用户,我仅仅将查询的权限给这个用户,这样就能够进行很严格的权限控制,在实际工作中一定要严谨,因为如果不注意可能会发生无法挽回的损失。
今天的内容就到这里,主要讲了一下权限管理,东西比较多,请读者朋友耐心查看。没有关注的朋友可以点下关注,你们每一次的关注、转发、收藏都是老韩持续更新的动力,谢谢观看,我们下期再见。
版权声明:本文标题:navicat一键收回权限语句_DBA必备技能,mysql权限管理(DCL语句) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729203771a1189841.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论