使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失

当 MySQL 数据库中的 ROOT 用户密码丢失导致无法登录时,可以通过使用 SKIP-GRANT-TABLES 的方式修改密码。下面是详细讲解:

准备

在开始操作之前,需要先进行一些准备工作:

  • 停止 MySQL 服务
  • 找到 MySQL 数据库的配置文件 my.cnf,如果无法找到,可以尝试在终端使用以下命令查找:find / -name my.cnf
  • 备份 MySQL 数据库,以便在操作失败时恢复数据

操作步骤

  1. 修改 my.cnf 配置文件

在 my.cnf 配置文件中,找到以下行:

[mysqld]

在该行的下方添加以下内容:

skip-grant-tables

修改完成后保存并退出。

  1. 启动 MySQL 服务

在终端中使用以下命令启动 MySQL 服务:

$ sudo service mysql start
  1. 连接到 MySQL 数据库

在终端中使用以下命令连接到 MySQL 数据库:

$ mysql -u root

这里不需要输入密码,因为已经跳过了授权表。

  1. 更新 ROOT 用户密码

现在已经成功登录到 MySQL 数据库,可以执行 SQL 命令来更新 ROOT 用户密码了,例如将密码设置为 newpassword

mysql> update mysql.user set authentication_string=password('newpassword') where user='root';

更新完成后,刷新授权表:

mysql> flush privileges;
  1. 恢复 my.cnf 配置文件

将 my.cnf 的修改撤销,去掉之前添加的 skip-grant-tables

#skip-grant-tables

修改完成后保存并退出。

  1. 重启 MySQL 服务

在终端中使用以下命令重启 MySQL 服务:

$ sudo service mysql restart
  1. 连接测试

使用新密码连接 MySQL 数据库,如果可以正常登录,则说明修改密码成功了。

示例说明

示例一:在 Ubuntu 上使用 SKIP-GRANT-TABLES 解决 MYSQL ROOT 密码丢失

在 Ubuntu 上,可以按照以下步骤操作解决 MYSQL ROOT 密码丢失问题。

  1. 打开终端,并停止 MySQL 服务:
$ sudo service mysql stop
  1. 找到 my.cnf 配置文件,并添加 skip-grant-tables 选项:
$ sudo nano /etc/mysql/my.cnf

在文件中找到 [mysqld] 一行,在该行下一行添加 skip-grant-tables,保存并退出编辑器。

  1. 启动 MySQL 服务并进入 MySQL:
$ sudo service mysql start
$ mysql -u root
  1. 修改 ROOT 用户密码:
mysql> update mysql.user set authentication_string=password('newpassword') where user='root';
  1. 刷新授权表并退出 MySQL:
mysql> flush privileges;
mysql> quit
  1. 恢复 my.cnf 配置文件:
$ sudo nano /etc/mysql/my.cnf

删除刚才添加的 skip-grant-tables 选项,保存并退出编辑器。

  1. 重启 MySQL 服务:
$ sudo service mysql restart
  1. 使用新密码登录 MySQL:
$ mysql -u root -p

示例二:在 CentOS 上使用 SKIP-GRANT-TABLES 解决 MYSQL ROOT 密码丢失

在 CentOS 上,可以按照以下步骤操作解决 MYSQL ROOT 密码丢失问题。

  1. 打开终端,并停止 MySQL 服务:
$ sudo systemctl stop mariadb
  1. 找到 my.cnf 配置文件,并添加 skip-grant-tables 选项:
$ sudo nano /etc/my.cnf

在文件中找到 [mysqld] 一行,在该行下一行添加 skip-grant-tables,保存并退出编辑器。

  1. 启动 MySQL 服务并进入 MySQL:
$ sudo systemctl start mariadb
$ sudo mysql -u root
  1. 修改 ROOT 用户密码:
mysql> update mysql.user set authentication_string=password('newpassword') where user='root';
  1. 刷新授权表并退出 MySQL:
mysql> flush privileges;
mysql> quit
  1. 恢复 my.cnf 配置文件:
$ sudo nano /etc/my.cnf

删除刚才添加的 skip-grant-tables 选项,保存并退出编辑器。

  1. 重启 MySQL 服务:
$ sudo systemctl restart mariadb
  1. 使用新密码登录 MySQL:
$ mysql -u root -p

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL基础学习之字符集的应用

    MySQL基础学习之字符集的应用 简介 在MySQL中,字符集(Charset)指的是字符编码集合。MySQL 5.5及以上版本的默认字符集为UTF-8。 字符集在MySQL中至关重要,它关系到数据的存储、排序、比较、连接等一系列操作。如果不了解字符集的特性及其使用方法,可能会在实际操作中遇到很多问题。 本攻略将详细讲解MySQL中字符集的基础知识和应用。 …

    database 2023年5月22日
    00
  • HBase 和 MongoDB 的区别

    HBase和MongoDB都是非关系型数据库中非常有影响力的代表。虽然都是NoSQL数据库,但它们之间有些明显的差别。 HBase和MongoDB的概述 HBase是一个分布式的、可扩展的、由Java编写的列存储数据库,是Google的Bigtable的一个开放源代码实现。在Hadoop生态系统中作为Hadoop的一部分存在,可以用于非常大的数据集,适用于金…

    database 2023年3月27日
    00
  • Linux下源码包安装Swoole及基本使用操作图文详解

    Linux下安装Swoole及基本使用操作 1. 安装Swoole源码包 1.1 下载Swoole源码包 在官网下载Swoole源码包,推荐下载最新版,下载链接为:https://github.com/swoole/swoole-src/releases 1.2 安装依赖库 Swoole编译需要openssl、pcre、zlib、libaio等依赖库,使用以…

    database 2023年5月22日
    00
  • Golang交叉编译之跨平台编译使用详解

    Golang交叉编译之跨平台编译使用详解 在 Golang 开发中,经常需要将代码编译成不同操作系统或 CPU 下的可执行文件,这个过程就被称为交叉编译。本文将介绍如何使用 Golang 进行跨平台编译。 准备工作 在进行 Golang 跨平台编译之前,需要先安装目标平台的交叉编译工具,以 Windows 平台为例: sudo apt-get update …

    database 2023年5月22日
    00
  • SQL查询超时的设置方法(关于timeout的处理)

    当我们在使用SQL查询时,如果数据量过大或者查询语句过于复杂,就很容易出现查询超时的问题。在这种情况下,我们需要对SQL查询的timeout进行设置。以下是关于SQL查询超时的设置方法的完整攻略。 1. 设置连接字符串的超时时间 在使用SQL Server连接字符串时,我们可以通过在连接字符串中设置超时时间来控制查询的超时时间。具体设置方法如下: // 在连…

    database 2023年5月22日
    00
  • pgsql 解决包含有单引号的字符串操作

    要在 PostgreSQL 中处理包含单引号的字符串,可以使用两种方式来实现:转义单引号或使用美元引用字符串。 1. 转义单引号 在 PostgreSQL 中用单引号括起来的字符串中,如果本身包含单引号,那么需要将其进行转义,即在该单引号前添加一个反斜杠“\”。例如,要在 PostgreSQL 中插入文本 “It’s a beautiful day”,应该写…

    database 2023年5月21日
    00
  • MySQL使用聚合函数进行单表查询

    MySQL是一个关系型数据库管理系统,使用聚合函数进行单表查询可方便地对表中数据进行统计和计算,本文将详细讲解使用聚合函数进行单表查询的完整攻略。 一、概述 聚合函数是MySQL中的一种特殊函数,可以对表中的数据进行统计和计算,如求最大值、最小值、平均值、求和等操作。在聚合函数的使用过程中,需要注意以下几点: 聚合函数可以用于单列或多列的数据。 使用聚合函数…

    database 2023年5月22日
    00
  • VS2022连接数据库MySQL并进行基本的表的操作指南

    下面是“VS2022连接数据库MySQL并进行基本的表的操作指南”的完整攻略: 准备工作 安装 MySQL 数据库,可以从官网下载安装包:https://dev.mysql.com/downloads/mysql/。 安装 MySQL 数据库的 .NET 驱动程序,可以从官网下载安装包:https://dev.mysql.com/downloads/conn…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部