MySQL学习之权限管理

MySQL学习之权限管理

权限管理

在MySQL中将权限管理分为三类

1.数据权限:增删改查 (select\update\delete\insert)

2.结构权限:结构操作(create\drop\alter)

3.管理权限:权限管理(create user\grant\revoke),通常只给管理员如此权限。

授予权限:grant

将权限分配给指定的用户

基本语法:grant 权限列表 on 数据库/*.表名/*   to   用户;

权限列表:使用逗号分隔,但是可以使用 all privileges 代表全部权限。

数据库.表名:可以是单表(数据库名字.表名),可以是具体某个数据库(数据库,*),也可以是整库(*.*);

数据库名字.表名:指的是对应数据库中对应数据表。

*.表名:指的是将所有数据库中的数据表。

*.*:指的是所有数据库中的所有表。

可以理解为:将对school数据库中的my_int数据表的查询权限赋予lixiaochi用户。

具体权限查看:单表权限只能看到数据库中的一张表。

*.表名:指的是将所有数据库中的数据表。

 取消权限:revoke

权限回收:将权限从用户手中收回

基本语法:revoke 权限列表(all privileges)on 数据库/*.表名/*   from   用户;

revoke all privileges on school.* from lixiaochi@'%';

刷新权限:flush

Flush:刷新,将当前对用户的权限操作,进行一个刷新,将操作的具体内容同步到对应的表中。

基本语法:flush privileges;

密码丢失的解决方案

 如果忘记了root用户的密码,就需要去找回或者是重置root用户。

1.停止服务;  net stop mysql 

 

2.重新启动服务:   mysqld.exe  --skip-grant-tables;

3.当前启动的服务器没有权限概念,非常危险,任何客户端,不需要任何用户信息都可以直接登录,

而且是root权限,新开客户端,使用mysql.exe登录即可。

4.修改root用户的密码。指定 用户名@host : alter user  '用户名'@'host'  identified by '123456';

5.赶紧关闭服务器,重启服务。

posted @ 2019-03-24 12:01  坦荡的火星  阅读(157)  评论(0编辑  收藏  举报