mysql8忘记root密码_mysql 8.0 忘记root密码后重置

最近状态很不好,一直晕晕晕晕晕晕乎乎的,一个测试实例,下班前修改了一下root的密码,接着就下班走人,第二天来发现root密码忘了

刚好自动化安装脚本整理好了,本来想着算了直接重装实例得了,简单省事也花不了半分钟,反正是测试实例,没什么大问题

发现有些思维定势,所以最近一直暗示自己要做一些一上来就排斥的事,强制改变一下思维方式,那么就重置一下,不要通过重装来绕过这个问题

试了好几种方式,有的行有的不行,直说最简单可行的一种方法:

1,停止实例(如果实例在开启的话),非服务名启动,也即用mysqld命令加上--skip-grant-tables方式启动MySQL服务

/usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/usr/local/mysql8_data/mysql8000/etc/my.cnf --skip-grant-tables &

或者

/usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/bin/mysqld_safe --defaults-file=/usr/local/mysql8_data/mysql8000/etc/my.cnf  --skip-grant-tables &

2,本地以sock方式连接值该实例,指定实例的sock文件后回车让输密码,(不用输密码)直接回车可正常连接

3,切换到mysql库下,

3.1.执行update user set authentication_string = '' where user = 'root';

3.2.刷新权限,flush privilegs;

3.3.重置密码:alter user 'root'@'%' identified by '********';

3.4.刷新权限,flush privilegs;

4,退出当前连接后,如果继续采用步骤2中的方式连接,发现是连不上的,必须输入密码(也就是重置了密码之后,必须指定密码的方式登录)

11942689.html

c592e4728104c5d977db2426b44d817a.png

需要注意的是,忘记密码后,以--skip-grant-tables启动实例之后,在本地只能以sock连接方式登录。

如果使用tcp/ip方式登录是不可行的,提示输入密码之后,继续回车,会提示 Can't connect to MySQL server on '127.0.0.1',不难理解,为确保安全,重置密码只能在本地(sock)连接。

ec304d68dff35092ba9960f3d9021a04.png

over,继续干活。

11942689.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值