MySQL服务器登陆故障ERROR 1820 (HY000)的解决方法

当我们使用MySQL客户端连接到MySQL服务器时,有时会出现以下错误信息:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

这是由于MySQL对于默认安装后第一次连接的用户,需要强制修改其密码。但如果此步骤没有完成,再次连接时就会遇到上述错误。

为了解决此问题,我们需要执行以下步骤:

步骤1:停止MySQL服务。

首先,需要通过以下命令停止MySQL服务器:

sudo service mysql stop

如果你的系统使用的不是systemd,则需要使用不同的命令来停止MySQL服务器。

步骤2:以带有–skip-grant-tables选项的方式启动MySQL服务器。

sudo mysqld_safe --skip-grant-tables &

这个命令会启动一个新的MySQL服务器实例,并跳过用户验证,并且在后台运行。

步骤3:连接MySQL服务器并执行SQL命令。

接下来,我们需要连接到刚才启动的MySQL服务器,并执行以下SQL命令:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

上述命令会刷新权限表并将root用户的密码更改为new_password。请确保替换new_password为你想要设置的新密码。这个例子中,我们将root用户的密码更改为password1234

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password1234';

步骤4:关闭MySQL服务器。

当完成上述步骤后,需要关闭第二个MySQL服务器实例,以便重新启动原始实例。可以使用以下命令来执行此操作:

sudo mysqladmin -u root -p shutdown

这个命令会提示输入密码以便关闭MySQL服务器实例。

步骤5:重新启动MySQL服务器。

最后,通过以下命令重新启动MySQL服务器:

sudo service mysql start

这将启动MySQL服务器,你应该能够使用新的密码来连接MySQL服务器了。

以下是两个示例说明:

示例1:

某用户在升级MySQL服务器后无法连接,遇到了“ERROR 1820 (HY000): You must reset your password...”错误。通过以上步骤,按照以下命令重新设置密码:

FLUSH PRIVILEGES;
ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';

修改了用户密码后,就可以重新连接数据库了。

示例2:

某用户在实验室环境中当使用完整安装向导将MySQL Server 5.7.18安装到Windows Server 2012 R2上之后,因为安装时勾选了"启用身份验证",导致最初安装时请勾选了必要身份验证选项,在以后登陆时遇到了“ERROR 1820 (HY000)”错误。通过以上步骤,可以解决该问题。按照以下命令重新设置密码:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

修改了root用户密码后,就可以重新连接数据库了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL服务器登陆故障ERROR 1820 (HY000)的解决方法 - Python技术站

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

相关文章

  • MySQL (一) 生产环境安装配置

    一、简介 MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。有以下特点: MySQL是一种数据库管理系统。 MySQL是一种关联数据库管理系统。 MySQL软件是一种开放源码软件。 MySQL数据库服务器具有快速、可靠和易于使用的特点。 MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。 有大量可用的共…

    MySQL 2023年4月12日
    00
  • mysql 索引使用及优化详情

    MySQL 索引使用及优化详情 索引的作用 索引是一种数据结构,它可以帮助数据库系统快速地定位到需要的数据,从而提高查询性能。在 MySQL 中,索引主要分为以下两种: B-Tree 索引:基于 B-Tree 数据结构的索引,默认提供的索引类型,可以满足大部分查询需求。 Hash 索引:基于哈希表的索引,适用于相等比较查询,不支持部分匹配查询。 在实际应用中…

    MySQL 2023年5月19日
    00
  • MySQL8.0服务无法正常启动的解决过程

    以下是针对MySQL8.0服务无法正常启动的解决过程的完整攻略: 1. 确认错误信息 首先,出现问题时需要先确认错误信息。可以在MySQL安装目录下的data目录中找到错误日志文件,一般命名为hostname.err,其中hostname为计算机名称。 在错误日志文件中查找关键词,如error、fail等,可以快速定位问题所在。例如,某用户在启动MySQL服…

    MySQL 2023年5月18日
    00
  • MySQL8.0中Online DDL也要在业务低峰期执行

    一、背景 MySQL从5.6开始引入了Online DDL,alter操作不再阻塞dml。在MySQL 8.0中,针对Online DDL做了进一步优化,alter table加列操作支持INSTANT算法,意思就是使用这个算法进行加列操作只需要修改表的元数据信息,操作瞬间就完成了。在MySQL 8.0.30以后,instant算法支持加列加到表的任一位置,…

    MySQL 2023年4月25日
    00
  • MySQL启动1053错误解决方法

    以下是详细讲解“MySQL启动1053错误解决方法”的完整攻略。 MySQL启动1053错误解决方法 问题描述 在启动MySQL服务时,会出现1053错误,错误提示信息为:服务没有及时响应启动或控制请求。 可能原因 MySQL服务端口被占用; MySQL服务配置文件配置有误; MySQL服务文件损坏; MySQL服务安装不完整。 解决方法 方法一:检查MyS…

    MySQL 2023年5月18日
    00
  • MySQL删除存储过程(DROP PROCEDURE)方法详解

    MySQL删除存储过程可以使用DROP PROCEDURE语句实现,该语句可以删除指定的存储过程。具体方法如下: 打开MySQL客户端,连接到MySQL数据库服务器。 选择要删除的数据库: USE database_name; 执行DROP PROCEDURE语句: DROP PROCEDURE procedure_name; 其中,database_nam…

    MySQL 2023年3月10日
    00
  • MySQL5.x版本乱码问题解决方案

    让我来给大家详细讲解一下“MySQL5.x版本乱码问题解决方案”。 问题背景 MySQL是一种常用的数据库软件,但有时在将其用于实际项目中时,会出现乱码的情况。这是因为MySQL在存储数据时,默认使用的是utf-8字符集,但是在一些环境下,如Windows服务器,操作系统默认字符集可能是GBK等,这样就会导致存储的数据乱码。 解决方案 1. 更改数据库字符集…

    MySQL 2023年5月18日
    00
  • 如何单机部署多个 MySQL 8.0 实例 ?

    在服务器资源有限的情况下,可利用该方案快速搭建各类 mysql 架构方案。各 MySQL 实例共享一个 mysqld 主程序,但各实例数据目录是独立的,存放在不同的文件夹中;好了、废话不多说,直接上干货,具体搭建步骤如下 环境介绍 实例 主机 mysql port mysqlx port datadir mysql1 192.168.31.100 3306 …

    MySQL 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部