找回MySQL管理员root密码的3个妙招

yizhihongxing

为了找回MySQL管理员root密码,有以下3个妙招可供选择:

妙招一:使用配置文件重置密码

  1. 停止MySQL服务:
sudo systemctl stop mysqld
  1. 创建一个文件 mysqld.cnf,并添加以下内容:
[mysql]
user=root
pid-file=/var/run/mysqld/mysqld.pid
skip-grant-tables
  1. 启动MySQL服务:
sudo systemctl start mysqld
  1. 使用mysql客户端连接到MySQL服务器:
mysql -u root
  1. 修改root用户的密码:
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
  1. 移除 mysqld.cnf 文件,重新启动MySQL服务:
sudo systemctl stop mysqld
sudo rm /etc/my.cnf.d/mysqld.cnf
sudo systemctl start mysqld

妙招二:使用安全模式重置密码

  1. 停止MySQL服务:
sudo systemctl stop mysqld
  1. 启动MySQL服务,并进入安全模式:
sudo mysqld_safe --skip-grant-tables &
  1. 使用mysql客户端连接到MySQL服务器:
mysql -u root
  1. 修改root用户的密码:
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
  1. 退出MySQL客户端,并重启MySQL服务器:
QUIT;
sudo systemctl stop mysqld
sudo systemctl start mysqld

妙招三:使用init脚本重置密码

  1. 停止MySQL服务:
sudo systemctl stop mysqld
  1. 修改MySQL服务的启动参数,添加 --skip-grant-tables 选项,开启不需要验证即可登陆的模式:
sudo vim /usr/lib/systemd/system/mysqld.service
[Service]
ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS --skip-grant-tables $ARGS
  1. 加载修改后的服务文件:
sudo systemctl daemon-reload
  1. 启动MySQL服务,并使用mysql客户端连接到MySQL服务器:
sudo systemctl start mysqld
mysql -u root
  1. 修改root用户的密码:
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
  1. 恢复MySQL服务启动参数,重启MySQL服务,完成修改:
sudo vim /usr/lib/systemd/system/mysqld.service
[Service]
ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $ARGS
sudo systemctl daemon-reload
sudo systemctl restart mysqld

其中,妙招一和妙招二是比较常用的方法,妙招三则相对复杂并且需要重启MySQL服务。根据实际情况选择妙招。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:找回MySQL管理员root密码的3个妙招 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • bouncy castle的配置

    下面是“Bouncy Castle的配置的完整攻略”的详细讲解,包括基本原理、实现方法和两个示例说明。 基本原理 Bouncy Castle是一个开源的Java加密库,提供了许多加密算法和安全协议的实现。在使用Bouncy Castle进行加密和解密操作时,需要进行相应的配置。 实现方法 实现Bouncy Castle的配置的方法如下: 下载Bouncy C…

    other 2023年5月5日
    00
  • Android视图控件架构分析之View、ViewGroup

    Android视图控件架构分析之View、ViewGroup 1. View View 是 Android 中所有用户界面的基本单元。它代表屏幕上的一个矩形区域,能够处理用户的交互事件。View 是所有控件的基类,包括像 Button、TextView、EditText 等常见控件都继承自 View。 1.1 View 的绘制过程 View 的绘制过程是 A…

    other 2023年6月26日
    00
  • microsoftvisualstudio2010产品密钥

    Microsoft Visual Studio 2010产品密钥 Microsoft Visual Studio 2010是微软开发的一款IDE(集成开发环境),包括了针对Windows、Web、Office、Sharepoint、Silverlight等各种平台的开发工具。在使用这个软件的时候,需要输入有效的产品密钥来激活该软件。如果你正在寻找Micros…

    其他 2023年3月28日
    00
  • SpringBoot加载多个配置文件实现dev、product多环境切换的方法

    下面我将详细讲解“SpringBoot加载多个配置文件实现dev、product多环境切换的方法”的完整攻略。 为什么需要多环境切换 在我们开发一个由多人参与的项目时,由于开发环境、测试环境、生产环境等不同的环境下,配置文件的不同,我们需要动态地切换配置环境,才可以顺利进行开发、测试以及发布等操作。而使用SpringBoot可以灵活地预先加载配置,实现多环境…

    other 2023年6月25日
    00
  • linux引导系统的方法分析

    Linux引导系统的方法分析 概述 在Linux操作系统中,引导系统是启动该系统的重要环节,其主要作用是载入操作系统内核并将控制权移交给内核。本文将分析Linux引导系统的方法。 GRUB引导系统 GRUB(全称为GNU GRand Unified Bootloader)是常用的Linux引导系统,它支持多重操作系统的引导,可在多个操作系统之间切换。下面简单…

    other 2023年6月27日
    00
  • App Store不能下载一直等待中的两种解决办法

    App Store不能下载一直等待中的两种解决办法 有时候,当您尝试从App Store下载应用程序时,可能会遇到一直等待的问题。这可能是由于各种原因引起的,但是您可以尝试以下两种解决办法来解决这个问题。 解决办法一:重新启动设备 有时候,重新启动设备可以解决App Store下载一直等待的问题。请按照以下步骤进行操作: 按住设备的电源按钮,直到出现滑动关机…

    other 2023年8月4日
    00
  • python计算最大优先级队列实例

    Python实现最大优先级队列的方式 1. 定义优先级队列 我们可以通过以下方式定义一个优先级队列: class PriorityQueue: def __init__(self): self.items = [] def is_empty(self): return len(self.items) == 0 def size(self): return l…

    other 2023年6月27日
    00
  • Excel2010表格数据透视表改进和新增功能讲解

    Excel2010表格数据透视表改进和新增功能讲解 介绍 Excel数据透视表是一种快速汇总、分析大批量数据的工具。在Excel 2010中,对数据透视表进行了一些改进和新增功能,让用户更加方便地使用。本文将详细讲解Excel2010表格数据透视表的改进和新增功能。 一、改进的功能 1.1 自动过滤器 Excel 2010中的数据透视表支持一种更高效的数据过…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部