centos7.5如何重置MySQL密码

 # 重置虚拟机MySQL-root密码?

 # 环境、库:centos7.5、mysql8.0.33

 ### 重置MySQL密码、或者重装MySQL

按查询到的方法
需要在 /etc/my.cnf文件中【mysqld]块中添加skip-grant-tables,来跳过无密码登录。
但是登录后mysql库的user查询到的信息

img

修改后又没法登录,改的密码和mysqld.log中的密码均无法登录数据库。

[root@hadoop100 ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/man/man1/mysql.1.gz

还有就是我的停止和重启都是提示这个

service mysqld stop/start
[root@hadoop100 ~]# service mysqld stop
Redirecting to /bin/systemctl stop mysqld.service

跳过无密码登录是一种临时的解决方案,通常用于在忘记MySQL的root密码或无法正常登录MySQL的情况下,通过修改MySQL的密码来进行身份验证。

在添加了 skip-grant-tables 配置后,MySQL将会跳过用户验证过程,允许任何人以任何身份登录到MySQL服务器。但是这样的设置并不能用于修改MySQL的密码。一旦你修改了密码并重启了MySQL服务器,skip-grant-tables 配置将不再生效。

如果需要修改MySQL的密码,可以使用以下步骤:

停止MySQL服务器的运行。

找到MySQL服务器的配置文件 my.cnf(在 /etc/my.cnf 或者 /etc/mysql/my.cnf)。确保你是以管理员身份打开该文件。

在 [mysqld] 块中添加 skip-grant-tables 配置,保存文件并关闭。

启动MySQL服务器。

打开终端或命令提示符,使用以下命令连接到MySQL服务器(不需要密码):

mysql -u root

进入MySQL命令行后,使用以下命令修改密码(假设要将密码修改为 newpassword):

UPDATE mysql.user SET Password=PASSWORD('newpassword') WHERE User='root';

如果你使用的是MySQL 8.0及以上版本,可以使用以下命令来修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';

执行以下命令刷新权限并退出MySQL命令行:

FLUSH PRIVILEGES;
exit;

停止MySQL服务器的运行。

编辑 my.cnf 文件,将之前添加的 skip-grant-tables 配置删掉。

启动MySQL服务器。

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^