查看数据库里都有哪些用户。
使用root任何一个用户都可以登录。
本机登录。
也可以这样登录其他的机器。
、
修改user表。
刷新权限:
现在我们看到了只有本机才能登陆。
我们这样就可以限制这个mysql指定某台服务器登录。
详解忘记密码以及如何修改用户密码
我们用这种方式修改本机的root的密码。
修改完一定要记得刷新权限。
登录成功。
这种修改方法存在缺陷,在输入命令的同时,命令中包含密码,实际上这样就已经暴露了。所以可以采用第二种方法。
这样需要自己输入新密码,密码不可见。
查出所有root用户信息。
我们可以看到密码和密码的修改时间。
所以我们第三种方法是还可以修改这个表进行修改用户的密码:
因为这个会加密,所以需要使用password(我们的密码)。
但是可能在数据库里查出两条用户对不同服务器都有权限。
这种情况就不能用这种方法。
我们这次再加上它是哪一台机器的。
每一次都需要刷新权限。
先到我们的配置文件。
去掉这个注释。
修改完配置文件记得要重启mysql服务。
我们可以直接无密码方式登录。
然后再修改密码即可。
讲解如何创建新用户与删除用户并限制ip登录:
我们可以查到我们新创建的用户。
查看pig用户的权限。
USAGE:无权限的意思。
root用户有很多权限。
WITH GRANT OPTION:表示这个用户拥有grant权限,即可以对其他用户授权
目前这个用户在所有的主机上都可以登录成功。
加上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';
目前它只有一个库的权限。
执行授权语句。
刷新权限:
再次就可以看到它有这么多的数据库的权限了。
就可以对这些库里的表进行增删改查了。
对没有的用户进行授权:创建一个新用户dog授予XD库的所有权限,登录密码123456,任何一台主机登录
我们可以先创建个用户再用上面那种方式再进行给它授权。
也可也用下面的方式,创建的同时进行授权:
grant all privileges on XD.* to 'dog'@'%' identified by '123456';
可以看到只有一个XD库的权限。
另外一种比较粗暴的方法是,直接从user表里去删除:
注意要刷新权限。
创建一个用户并只赋予用户查询和修改数据库的权限:
登录:
这样它就只有查询和修改的权限了。