MySQL 5.7 修改账号密码

1、概述

大家好,我是欧阳方超。
MySQL数据库安装后设置的密码太简单了, 近期安全检查,这种弱密码全部得修改,好吧那就开始改吧

2、更改密码

2.1、寻找命令

于是我找到之前我的一篇文章CentOS7.5安装MySQL8以及相关设置,从里面翻出命令,

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPassword888!';
Query OK, 0 rows affected (0.01 sec)

发现改完后,MySQL客户端工具使用旧密码依然能够连接,同事提醒说,你flush一下试试呢,

mysql> flush privileges;

于是我又执行了上面的命令,结果发现还是不行,后经分析,发现在mysqlu.user表中有两条记录的User字段值都为root,而这两条记录的Host字段值并不相等——一个是localhost另一个是%,到这里MySQL客户端依然能用旧密码登录的原因已经出来的,我上面改密码的命令中@后是localhost,也就是时只有本地连接时的密码被改变了,远程连接时的密码并没有被更改,客户端工具连接相当于远程连接。
真相大白之后,想要使远程连接时的密码也被改变,那就容易办到了,@后使用%应该就可以,其实改密码的命令不止一个,下面就记录一个用于更改MySQL密码的其他命令,如下:

update mysql.user set authentication_string=password('newPassword888!') where user='root' and Host = '%';

然后执行:

flush privileges;

此时远程连接的密码就被修改了。

2.2、补充

既然都说到更改密码了,那就再记录一条修改密码的命令吧:

set password for 'root'@'localhost'=password('newPassword888!');

3、总结

这篇文章写完,我发现一个问题,如果我使用了update mysql.user set authentication_string…这个命令修改密码,并且只在where后指定user=‘root’ 这一个条件,那么不管是本地还是远程连接的密码不就一次性修改了吗,闹了半天玩了个乌龙球。不过似乎也有个新发现,那就是同样是root用户,可以为root用户设置,在本地连接和远程连接时可以设置不同的密码,话说有人这么玩吗,哈哈哈。

我是欧阳方超,把事情做好了自然就有兴趣了,如果你喜欢我的文章,欢迎点赞、转发、评论加关注。我们下次见。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值