太辣的不吃 2023-08-21 10:02 采纳率: 0%
浏览 6

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
  • 写回答

2条回答 默认 最新

  • bostonAlen 2023-08-21 11:24
    关注

    跳过无密码登录是一种临时的解决方案,通常用于在忘记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服务器。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月21日

悬赏问题

  • ¥20 wordpress如何限制ip访问频率
  • ¥15 自研小游戏,需要后台服务器存储用户数据关卡配置等数据
  • ¥15 请求解答odoo17外发加工某工序的实操方法
  • ¥20 IDEA ssm项目 跳转页面报错500
  • ¥20 系统直接进入应急模式了,请教一下,人要裂开了
  • ¥15 页面初次加载时,JS调用对象可以调用成功,但是一旦跳转到另一个页面,再跳转回来后这个对象就显示undefind了,调用也调用不了了,什么原因?
  • ¥15 来个厉害的程序开发的,安排点活给你做
  • ¥15 rexroth indramotion MTX micro系统轴耦合编程
  • ¥100 springboot2.7.x 整合 sharding 的问题
  • ¥15 如何通过命令行操作统信360安全浏览器?