MySQL用户管理

一、mysql用户管理的必要性

如果我们只能使用root用户,这样安全隐患, 这时,我们需要使用mysql的用户管理技术.

 

 

一次获得|分配权限user->db->tables_priv->columns_priv ; 权限范围一次递减,全局权限覆盖局部权限。换句话说user表中的每个权限都代表了对所有数据库都有的权限。

 

二、mysql用户存放在 user表

说明: mysql的用户都是存在在 mysql->user表中.

 

三、mysql用户的创建

基本语法:

CREATE  USER  '用户名'@'登录主机/ip'    identified by '密码';

案例说明:

 

只有登录权限

 

四、mysql用户的删除

基本语法:

drop     user  '用户名'@'主机名';

案例说明:

 

五、如何对mysql用户修改密码

        基本语法

  自己给自己改

  mysql> set   password = password('新的密码');

  root用户帮你修改

  mysql>set    password  for  '用户名'@'主机名' = password('新的密码');

        案例说明

   

   

 

六、mysql数据库的权限有

   

七、给mysql用户赋权限

        基本语法

grant    权限列表  on  库.对象名    to   '用户名'@'主机名'  [identified by '密码']

说明:

        如果不给 [identified 表示 直接给某个用户分配权限]

        如果给了【identified】 则,如果用户存在,相当于赋权限时,同时修改密码,如果用户不存在,创建一个新的用户,同时赋权限.

        案例说明

   

        关于赋权限的细节说明

   

  说明:如果我们发现赋权限后,没有生效,请执行刷新权限的指令

  FLUSH PRIVILEGES;

 

八、如何回收权限

基本语法:

revoke 权限列表  on  库.对象名  from  '用户名"@"登录位置';

案例说明:

   

      mysql用户的细节说明

   

九、如何查看某个用户分配了哪些权限

 

  show grants for  user@host;

  host 可以不写 默认为 %,

   v5.0后,可利用新增的information_schema数据库进行权限的查看:

   select * from SCHEMA_PRIVILEGES where grantee="'user'@'host'";

 

原文地址:https://www.cnblogs.com/cshaptx4869/p/10482537.html