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

为了找回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日

相关文章

  • springboot项目监控开发小用例(实例分析)

    Spring Boot项目监控开发小用例(实例分析) 简介 在开发和运维过程中,对于Spring Boot项目的监控是非常重要的。通过监控,我们可以实时了解项目的运行状态、性能指标和异常情况,从而及时采取措施进行优化和故障处理。本文将详细介绍如何在Spring Boot项目中添加监控功能,并提供两个示例说明。 步骤 步骤一:添加依赖 首先,在Spring B…

    other 2023年7月27日
    00
  • YII2 请求(request)

    YII2 请求(request)的完整攻略 在YII2中,请求(request)是指客户端向服务器发送的HTTP请求。本文将详细讲解YII2请求(request)的完整攻略,包括请求的基本概念、请求的处理流程、请求的常用方法和两个示例说明。 请求的基本概念 在YII2中,请求(request)是指客户端向服务器发送的HTTP请求。请求通常包含以下信息: 请求…

    other 2023年5月5日
    00
  • C语言数据存储归类介绍

    C语言数据存储归类介绍 C语言是一门十分经典的编程语言,无论是在学习还是工作中,都有着非常广泛的应用。在C语言中,数据的存储归类是非常重要的知识点,在本篇文章中,我们将会详细讲解C语言数据存储归类的介绍。 C语言中的数据类型 在C语言中,定义了许多的数据类型,其中一些常用的数据类型包括: 整型(int) 浮点型(float) 双精度浮点型(double) 字…

    other 2023年6月27日
    00
  • iOS开发中音频工具类的封装以及音乐播放器的细节控制

    iOS开发中音频工具类的封装以及音乐播放器的细节控制可以分为以下步骤进行: 第一步:封装音频工具类 在进行音频开发的时候,我们经常需要用到播放、停止、暂停、重播等功能,因此可以将这些功能进行封装,形成音频工具类,方便我们多次调用。 在封装音频工具类的时候,我们需要提供公共的接口,使得用户可以方便地调用这些功能。具体步骤如下: 定义音频工具类AudioTool…

    other 2023年6月25日
    00
  • 新手快速上手webpack4打包工具的使用详解

    新手快速上手webpack4打包工具的使用详解 介绍 Webpack是一个非常流行的JavaScript模块打包工具。 它可以将你的JavaScript代码和其他资源,如样式表、图片等打包到一个或多个bundle中,在你的项目中进行使用。 Webpack 4提供了很多新的特性和改进,这些特性和改进包括更好的性能、更简单的配置和更好的插件系统。本文将介绍如何使…

    other 2023年6月27日
    00
  • 【反编译系列】三、反编译神器(jadx)

    【反编译系列】三、反编译神器(jadx) 在移动应用开发中,反编译工具是一种非常重要的工具。它可以帮助应用开发者解析 apk 包中的代码、资源文件等,方便研究其他应用的实现方法或者保护自己的代码版权。反编译神器(jadx)是一款开源高效的 Android 应用反编译工具,可以将 apk 包中的 dex 代码文件还原成 Java 语言的源代码,非常适合移动应用…

    其他 2023年3月28日
    00
  • android应用框架-volley网络通信框架

    以下是关于“Android应用框架-Volley网络通信框架”的完整攻略,包括定义、特点、使用方法、示例说明和注意事项。 定义 Volley是一款由Google开发的Android网络通信框架,可以帮助开发者快速、便地进行网络通信。Volley支持HTTP请求、图片加载、JSON解析等功能,具有高效、简单可定制等特点。 特点 Volley的特点包括: 高效:…

    other 2023年5月8日
    00
  • 小程序自定义组件全局样式不生效的解决方法

    当我们在小程序中使用自定义组件时,有时我们希望在组件中设置全局样式,但是发现这些样式并没有生效。这种情况通常是因为小程序默认会对组件的样式进行隔离,所以全局样式无法生效。解决方法如下: 1. 使用 wxss 文件实现全局样式 在小程序的根目录新建一个 app.wxss 文件,并在此文件中定义全局样式。然后在自定义组件中通过 @import 引入 app.wx…

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