mysql权限

Posted wwchihiro

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql权限相关的知识,希望对你有一定的参考价值。

  select  user();  显示当前登录的用户名和客户端地址

  show  grants;  连接用户查看自己的访问权限

  select @@hostname; 显示连接的数据库

 

用户授权与权限

  在数据库上添加可以连接数据库服务器的用户

  默认只有数据库管理员root用户在本机登录时,才有授权权限。

谁有授权权限

  默认只有数据库管理员root用户从本机登录才有授权权限。

授权命令的格式

  本格式:grant   权限列表  on  数据名    to  用户名;

  grant   权限列表  on  数据名    to  用户名@"客户端地址";

  grant   权限列表  on  数据名    to  用户名@"客户端地址"   identified  by  "密码"  ;

  grant   权限列表  on  数据名    to  用户名@"客户端地址"   identified  by  "密码"   with  grant  option(有授权权限);

 

权限的表示方式

 

  all   所有权限

 

  select,insert,update(name,age) 某种权限

 

  usage 无权限

数据名的表示方式

  *.* 所有库所有表 

  库名.*  一个库

  库名.表名  一个表

客户端地址的表示方式

  %  所有地址 

  192.168.2.%    网段

  %.tarena.com    区域

  pc101.tarena.com  主机名

  Identifie d  by  "密码"  用户连接时使用的密码   

  with  grant  option  有授权权限 

默认的4个库  mysql     授权库(存储的是授权信息)

  sys

  mysql        授权库(存储的是授权信息)

  information_schema   虚拟库

  performance_schema  

  test   公共库(测试库) 

授权信息存储在授权库mysql库里

  mysql.user   已有的授权用户及访问权限

  mysql.db      存储授权用户对本机库的访问权限 

  mysql.tables_priv     存储授权用户对本机表的访问权限

  mysql.columns_priv  存储授权用户对本机表中字段的访问权限

查看已有的授权用户及权限

  select  user,host  from mysql.user;

数据库管理员查看授权用户的权限信息

  show grants  for  用户名@"客户端地址";

  select user,host  from mysql.user;

   select  * from  mysq.user  where  user="用户名"  and  host="客户端地址"G;

撤销用户授权

  mysql>revoke  权限列表   on  库名  from  用户名@"客户端地址";

  mysql> revoke  grant option  on  *.*  from [email protected]"192.168.4.254";

  mysql> revoke delete,update   on  *.*  from [email protected]"192.168.4.254";

  mysql> revoke all  on  studb.*  from [email protected]"192.168.4.254";

  mysql> show user(); #查看访问用户

删除授权用户

  方法一:

  mysql>  delete from  mysql.user  where  user="用户名" and host="客户端地址";  flush  privileges;

  方法二

  mysql> drop user  用户名@"客户端地址";

  mysql>delete  from  mysql.user where user="webadmin" and host="192.168.4.11";

  mysql> flush privileges;

授权用户登录后,修改自己的登录密码

  mysql> SET PASSWORD=PASSWORD(‘新密码‘);

数据库管理员 root 重置授权用的登录密码

  mysql> SET PASSWORD FOR 用户名@‘客户端地址‘=PASSWORD(‘新密码‘);

管理员重置授权用户的登录密码

  mysql> set  password   for  用户名@‘客户端地址‘=PASSWORD("新密码");

 


以上是关于mysql权限的主要内容,如果未能解决你的问题,请参考以下文章

mysql 权限设置

如何设置mysql的权限为所有的用户权限

MySQL的权限都有哪些

如何给mysql用户分配权限

MySQL的权限都有哪些

mysql怎么授予用户全局层级的权限