MySQL忘记root密码错误号码1045的解决办法

yizhihongxing

当我们忘记 MySQL 的 root 密码时,使用 root 账户登陆 MySQL 数据库失败,可能会遇到错误号码为 1045 的错误提示。错误提示信息如下所示:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

这种错误提示意味着在没有提供正确的密码的情况下, root 用户不能登录 MySQL,因此我们需要尝试重置 root 用户的密码。以下是在 Linux 操作系统中解决此问题的步骤:

1. 停止 MySQL 服务

在使用以下命令之前,确保你已经停止了 MySQL 服务,在命令行中输入以下命令:

sudo systemctl stop mysql

2. 创建并编辑 MySQL 配置文件

现在我们要为 MySQL 创建一个新的配置文件。在命令行中输入以下命令:

sudo vim /etc/mysql/reset-passwd.cnf

创建了一个新的文件之后,使用以下内容配置它:

[mysqld]
skip-grant-tables

然后保存并退出文件。

3. 启动 MySQL 服务

使用以下命令启动 MySQL 服务:

sudo systemctl start mysql

4. 重置 MySQL root 密码

重置 root 密码,输入以下命令:

mysql -u root

进入 mysql 命令行后输入以下命令:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '<新密码>';

这里把新密码替换为你想要的密码,然后保存并退出文件。退出 mysql 命令行。

5. 重启 MySQL 服务

我们已经完成了密码的重置,现在需要删除之前创建的配置文件。在命令行中输入以下命令:

sudo rm /etc/mysql/reset-passwd.cnf

然后重启 MySQL 服务:

sudo systemctl restart mysql

现在你可以使用新密码重新连接 MySQL 服务器。以下是使用命令行的示例说明:

示例1 重置密码为“password”

在示例1中,我们将 root 密码重置为“password”。具体过程如下:

  1. 停止 MySQL 服务
sudo systemctl stop mysql
  1. 创建并编辑 MySQL 配置文件
sudo vim /etc/mysql/reset-passwd.cnf

创建一个新文件并添加以下内容:

[mysqld]
skip-grant-tables
  1. 启动 MySQL 服务
sudo systemctl start mysql
  1. 重置 MySQL root 密码
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
  1. 重启 MySQL 服务
sudo rm /etc/mysql/reset-passwd.cnf
sudo systemctl restart mysql

示例2 重置密码为“123456”

在示例2中,我们将 root 密码重置为“123456”。具体过程如下:

  1. 停止 MySQL 服务
sudo systemctl stop mysql
  1. 创建并编辑 MySQL 配置文件
sudo vim /etc/mysql/reset-passwd.cnf

创建一个新文件并添加以下内容:

[mysqld]
skip-grant-tables
  1. 启动 MySQL 服务
sudo systemctl start mysql
  1. 重置 MySQL root 密码
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
  1. 重启 MySQL 服务
sudo rm /etc/mysql/reset-passwd.cnf
sudo systemctl restart mysql

通过上面的步骤,你可以重置并成功登录到 MySQL 数据库使用新的 root 密码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL忘记root密码错误号码1045的解决办法 - Python技术站

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

相关文章

  • Sql Server数据把列根据指定内容拆分数据的方法实例

    首先我们需要明确一下题目的意思。根据指定内容拆分数据,指的是将某一列中的数据按照指定的内容进行分割,然后将结果分别存储到新的列中。例如,我们想要将“姓名-年龄-性别”的格式拆分成“姓名”、“年龄”、“性别”三列数据,就可以使用下面的方法来实现。 下面是具体实现步骤: 1. 使用CHARINDEX函数获取分隔符位置 在SQL Server中,我们可以使用CHA…

    database 2023年5月22日
    00
  • mysql存储过程如何利用临时表返回结果集

    MySQL 存储过程可以利用临时表来返回结果集,具体步骤如下: 1. 创建临时表 使用 CREATE TEMPORARY TABLE 语句来创建临时表。 示例一: CREATE TEMPORARY TABLE temp_table ( id INT NOT NULL PRIMARY KEY, name VARCHAR(100) NOT NULL, age I…

    database 2023年5月21日
    00
  • 利用C#实现分布式数据库查询

    对于“利用C#实现分布式数据库查询”的完整攻略,我可以给出以下的详细讲解: 1. 概述 在现代云计算和大数据时代,分布式数据库逐渐成为一种比较常见的数据存储和管理方式。然而,对于分布式数据库的查询操作,由于数据分布在不同的节点上,往往需要进行跨节点的数据处理和聚合,同时还需要考虑性能和数据一致性等方面的问题。因此,如何有效地利用C#实现分布式数据库查询,是一…

    database 2023年5月22日
    00
  • mysql修改记录时update操作 字段=字段+字符串

    当需要在 MySQL 中修改记录时,我们可以使用 UPDATE 命令来实现。通常情况下,我们会使用等号操作符将新的值赋给要修改的字段。例如: UPDATE mytable SET name=’new name’ WHERE id=1; 但是,有时候我们需要将原有的字段值和一些字符串进行拼接,而不是完全覆盖原有的值。这种情况下,我们可以使用 CONCAT 函数…

    database 2023年5月22日
    00
  • Redis删除策略

    Redis中有个设置时间过期的功能,即对存储在redis数据库中的值可以设置一个过期时间。作为一个缓存数据库,这是非常实用的。如我们一般项目中的token或者一些登录信息,尤其是短信验证码都是有时间限制的,按照传统的数据库处理方式,一般都是自己判断过期,这样无疑会严重影响项目性能 set key的时候,都可以给一个expire time,就是过期时间,通过过…

    Redis 2023年4月13日
    00
  • JMeter对数据库的查询操作步骤详解

    我来详细讲解一下“JMeter对数据库的查询操作步骤详解”。 概述 在进行动态网站的性能测试中,经常需要对数据库进行查询操作,JMeter 是轻量级的性能测试工具,能够对数据库进行查询测试。 本文主要介绍以下几个步骤: 配置 JDBC 连接池 配置 JDBC 请求 配置结果断言 步骤详解 步骤一:配置 JDBC 连接池 在 JMeter 中使用 JDBC 请…

    database 2023年5月21日
    00
  • SQL Server 2000“设备激活错误”的解决方法

    下面是详细讲解“SQL Server 2000“设备激活错误”的解决方法”的完整攻略: 问题描述 在使用 SQL Server 2000 数据库时,有时候会出现“设备激活错误”的问题。该问题会导致数据无法正常备份或还原,给工作带来不便。下面是具体的错误信息: 设备激活错误:ERROR: 0 : HRESULT = 0x80004002 解决方法 出现“设备激…

    database 2023年5月18日
    00
  • MySql查询时间段的方法

    下面我来为你详细讲解”MySql查询时间段的方法”。 介绍 在数据库中,我们经常需要查询特定时间段内的数据。 MySql提供了很多方法去查询时间段。本篇攻略将向你介绍如何使用日期比较符号(Comparison Operators)和日期函数(Date Functions)在 MySql中查询时间段。 使用日期比较符号 日期比较符号是比较日期的运算符。在 My…

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