Mysql学习查缺补漏----02 mysql之DCL 数据控制语言

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第1张图片

查看数据库里都有哪些用户。

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第2张图片

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第3张图片

使用root任何一个用户都可以登录。

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第4张图片

本机登录。

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第5张图片

也可以这样登录其他的机器。

修改user表。

刷新权限:

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第6张图片

现在我们看到了只有本机才能登陆。

我们这样就可以限制这个mysql指定某台服务器登录。

详解忘记密码以及如何修改用户密码

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第7张图片

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第8张图片

我们用这种方式修改本机的root的密码。

修改完一定要记得刷新权限。

登录成功。

这种修改方法存在缺陷,在输入命令的同时,命令中包含密码,实际上这样就已经暴露了。所以可以采用第二种方法。

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第9张图片

这样需要自己输入新密码,密码不可见。

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第10张图片

查出所有root用户信息。

我们可以看到密码和密码的修改时间。

所以我们第三种方法是还可以修改这个表进行修改用户的密码:

因为这个会加密,所以需要使用password(我们的密码)。

但是可能在数据库里查出两条用户对不同服务器都有权限。

这种情况就不能用这种方法。

我们这次再加上它是哪一台机器的。

每一次都需要刷新权限。

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第11张图片

先到我们的配置文件。

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第12张图片

去掉这个注释。

修改完配置文件记得要重启mysql服务。

我们可以直接无密码方式登录。

然后再修改密码即可。

讲解如何创建新用户与删除用户并限制ip登录:

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第13张图片

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第14张图片

我们可以查到我们新创建的用户。

查看pig用户的权限。

USAGE:无权限的意思。

root用户有很多权限。

WITH GRANT OPTION:表示这个用户拥有grant权限,即可以对其他用户授权

目前这个用户在所有的主机上都可以登录成功。

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第15张图片

加上host地址才能登录成功。

也可以指定在哪个网段上登录。

注:

本机登录的话也不要只是默认就完事。我们也要注意一下表里的host配置。

如何限制用户对库表的增删改查权限:

授权:

方式一:

授权语法:grant 权限1,权限2..... on 数据库对象 to '用户'

方式二:

grant 权限1,权限2..... on 数据库对象 to '用户'@'host' identified by 'password';

回收权限:

回收语法:revoke 权限1,权限2..... on 数据库对象 from '用户'@'host';

实战例子:

对现有用户进行授权:对现有用户pig授予所有库所有表所有权限。

all privileges:代表所有权限。

*.*表示所有库所有表。

grant all privileges on *.* to 'pig';

目前它只有一个库的权限。

执行授权语句。

刷新权限:

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第16张图片

再次就可以看到它有这么多的数据库的权限了。

就可以对这些库里的表进行增删改查了。

对没有的用户进行授权:创建一个新用户dog授予XD库的所有权限,登录密码123456,任何一台主机登录

我们可以先创建个用户再用上面那种方式再进行给它授权。

也可也用下面的方式,创建的同时进行授权:

grant all privileges on XD.* to 'dog'@'%' identified by '123456';

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第17张图片

可以看到只有一个XD库的权限。

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言_第18张图片

另外一种比较粗暴的方法是,直接从user表里去删除:

注意要刷新权限。

创建一个用户并只赋予用户查询和修改数据库的权限:

登录:

这样它就只有查询和修改的权限了。

你可能感兴趣的:(mysql,学习,mysql)