①关闭数据库
[root@node1 〜]# service mysql.server stop
②跳过授权表启动(友情提示:启动过程可能会一波三折,冷静分析看报错,必能解决)
# /opt/mysql-5.7.43/bin/mysqld --defaults-file=/opt/mysql-5.7.43/my.cnf --skip-grant-tables --skip-networking=on --user=mysql &
注:
/opt/mysql-5.7.43/bin/mysqld 数据库安装位置bin路径
/opt/mysql-5.7.43/my.cnf my.cnf配置文件路径(一般就在数据安装路径下)
㈡刷新授权表(重要)
# mysql -uroot -p
Enter password :什么都不要输入,直接回车即可
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
㈢修改密码
mysql> alter user 'root'localhost' identified by '填新密码';
Query OK, 0 rows affected (0.00 sec)
补充:如果未能成功,则使用以下语句修改密码
mysql> UPDATE mysql.user SET authentication.string = PASSWORD('填新密码') WHERE User = 'root' AND Host = "localhost,;
mysql> FLUSH PRIVILEGES;
修改密码后,使用jobs+ k出命令,停止正在运行的mysqld进程。然后使用service启动服务
# jobs
# kill %1
# service mysql.server restart
评论区