mysql数据库中的权限

用户在访问数据库的时候,有时候我们并不希望所有访客都能对数据库内的数据进行增删改查等处理,这时候就需要用到权限管理。

  在mysql中,权限是系统内定的一些“名词”(单词),大约30个,每个权限表示“可以做什么工作”。 
则分配权限就是相当于让某个用户可以做哪些工作。
mysql中的用户信息都存储在系统数据库mysql的user表中,我们可以查看用户表来查看不同用户所拥有的权限,并更改不同用户所拥有的权限。
语法语句:
创建用户:create  user  ‘用户名’@’允许其登录的地址’  identified  by  ‘密码’;
删除用户:drop  user  ‘用户名’@’允许其登录的地址’;
修改用户:修改自己密码: set  password = password(‘新密码’);
修改他人密码(必须有修改权限):
set  password  for  ‘用户名’@’允许其登录的地址’  = password(‘新密码’);
增加权限:grant 权限名1,权限名2, ....  on  数据库名.对象名 to  ‘用户名’@’允许其登录的地址’  identified by ‘密码’;
这里面权限名就是:’select’, ‘update’, ‘delete’,等等。其中ALL 表示“所有权限”。
对象名就是一个数据库中“装”的东西,可以是表,也可以是视图,存储过程,存储函数等,其中:*.*表示所有数据中的所有对象
identified by 是为用户修改密码,可以不写,不写就是不修改,但是该语句也可以创建用户,如果用户不存在,identified by ‘密码’必须写。
删除权限:revoke  权限名1,权限名2, ....  on  数据库名.对象名 from  ‘用户名’@’允许其登录的地址’ ;

    在数据库中,通常我们设置权限的时候并不是为挨个用户分别设置权限,而且采用权限表的方式,把所有权限做成一张权限表,再做一张用户角色表,为不同的角色分配不同的权限。

猜你喜欢

转载自www.cnblogs.com/xwenbin/p/10223441.html