mysql8.0重置root密码

2022-03-29  本文已影响0人  蓝猫大哥丶

在系统环境为docker,centos7,ubuntu,debian在官方文档里面都应该是归类为unix或类unix系统(Unix and Unix-Like Systems)
所以正确的重置mysql8.0的方法如下:

1、停止mysql服务
$> kill `cat /mysql-data-directory/host_name.pid`

2、创建一个mysql-init文件,内容应该为:
建议放在/tmp下,如果是用mysql用户启动,那mysql要有读该文件的权限
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

3、加上init-file启动mysql实例
注意:我这里配置文件用的是默认的/etc/my.cnf,所以不用特殊指明
mysqld --user=mysql --init-file=/home/me/mysql-init

4、如果成功启动,就可以删除init-file了,测试一下有没有将密码修改成功
如果成功重置,可以按1步中的方式停止mysql服务,后边正常启动即可!

如果是docker容器中遇到这情况,那可以利用entrypoint优先级的方式用/bin/bash或/bin/sh方式先进入容器,例如:

docker run -it --rm --entrypoint /bin/bash mysql:8.0.27

这样启动的容器不会运行mysql的entrypoint.sh
后续的步骤和上边处理方式一样!

重置方式参考来源于官网:
https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

上一篇下一篇

猜你喜欢

热点阅读