Linux中MySQL跳过密码验证以及Bug的解决方法(图文)

 更新时间:2024年09月10日 10:58:31   作者:码农研究僧  
这篇文章主要介绍了Linux中MySQL跳过密码验证以及Bug的解决方法,文章通过代码示例和图文结合的方式给大家讲解的非常详细,对大家解决问题有一定的帮助,需要的朋友可以参考下

1.问题所示

在这里插入图片描述

发现密码验证错误,遗失密码

2. 基本知识

  • 停止MySQL服务sudo systemctl stop mysql
  • 以跳过权限表模式启动MySQLsudo mysqld_safe --skip-grant-tables &
  • 登录MySQLmysql -u root
  • 重置root用户密码:(不同版本不一,如果执行出错,可看下文)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
  • 重新启动MySQL服务sudo systemctl start mysql

在这里插入图片描述

3. 解决方法

根据上述的基本知识操作进行演示,过程中可能会出现个别Bug

3.1 跳过验证Bug

跳过验证的时候,如果出现如下提示:

root@iZ7xv98hm4hq0dd3xv23vuZ:~# sudo mysqld_safe --skip-grant-tables &
[1] 720919
root@iZ7xv98hm4hq0dd3xv23vuZ:~# 2024-09-02T14:05:11.207426Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2024-09-02T14:05:11.233525Z mysqld_safe A mysqld process already exists

[1]+  Exit 1                  sudo mysqld_safe --skip-grant-tables

截图如下:

在这里插入图片描述

先确保所有 MySQL 相关的进程都被停止:ps aux | grep mysqld

如果看到任何运行中的 MySQL 进程,使用 kill 或 kill -9 命令手动终止它们:sudo kill -9 <PID>

在这里插入图片描述

3.2 设定初始密码

使用的是 MySQL 5.7 或更高版本,密码字段通常是 authentication_string,但 PASSWORD() 函数可能已被弃用

UPDATE mysql.user SET authentication_string='123456' WHERE User='root' AND Host='localhost';

使用的是 MySQL 5.6 或更低版本,密码字段可能是 password,可以使用以下命令:

UPDATE mysql.user SET password=PASSWORD('123456') WHERE User='root' AND Host='localhost';

之后统一执行:`FLUSH PRIVILEGES;``

到此这篇关于Linux中MySQL跳过密码验证以及Bug的解决方法(图文)的文章就介绍到这了,更多相关Linux MySQL跳过密码验证Bug内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MYSQL开发性能研究之批量插入数据的优化方法

    MYSQL开发性能研究之批量插入数据的优化方法

    在网上也看到过另外的几种方法,比如说预处理SQL,比如说批量提交。那么这些方法的性能到底如何?本文就会对这些方法做一个比较
    2017-07-07
  • mysql数据库备份命令分享(mysql压缩数据库备份)

    mysql数据库备份命令分享(mysql压缩数据库备份)

    这篇文章主要介绍了mysql数据库备份常用语句,包括数据库压缩备份、备份多个MySQL数据库、备份多个MySQL数据库、将数据库转移到新服务器等语句
    2014-01-01
  • mysql 无法连接问题的定位和修复过程分享

    mysql 无法连接问题的定位和修复过程分享

    开发的一款网站防护产品中出现了一个客户端上安装后Mysql每隔一段时间就出现问题,这个问题是客户反馈的,所以需要去复现和定位
    2013-03-03
  • MYSQL中查询LONGBLOB类型数据的大小的详细示例

    MYSQL中查询LONGBLOB类型数据的大小的详细示例

    在MySQL中,LONGBLOB 是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,但是,LONGBLOB 数据类型本身并不直接存储数据的大小(长度),它存储的是二进制数据的实际内容,这篇文章主要介绍了MYSQL中怎么查询LONGBLOB类型数据的大小,需要的朋友可以参考下
    2024-06-06
  • MySQL的事务的基本要素和事务隔离级别详解

    MySQL的事务的基本要素和事务隔离级别详解

    这篇文章主要介绍了MySQL的事务的基本要素和事务隔离级别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • mysql如何获取时间整点

    mysql如何获取时间整点

    这篇文章主要介绍了mysql如何获取时间整点问题,具有很好的的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 删除MySQL表中重复数据详解

    删除MySQL表中重复数据详解

    这篇文章主要为大家介绍了删除MySQL表中重复数据详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • SQL如何使用正则表达式对数据进行过滤

    SQL如何使用正则表达式对数据进行过滤

    正则表达式的作用是匹配文本,将一个正则表达式与一个文本串进行比较,下面这篇文章主要给大家介绍了关于SQL如何使用正则表达式对数据进行过滤的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • MySQL 常见的数据表设计误区汇总

    MySQL 常见的数据表设计误区汇总

    虽然会有一些常规意义上的数据表错误设计和优秀设计原则,但是同样也会有 MySQL 特定的一些情况,这会导致我们犯一些 MySQL 特定的错误。本篇讨论常见的设计误区。
    2021-06-06
  • 解决MySQL 5.7.9版本sql_mode=only_full_group_by问题

    解决MySQL 5.7.9版本sql_mode=only_full_group_by问题

    这篇文章主要介绍了解决MySQL 5.7.9版本sql_mode=only_full_group_by问题,需要的朋友可以参考下
    2017-05-05

最新评论