linux下mysql忘记密码的解决方法

yizhihongxing

下面为您详细讲解在 Linux 下 MySQL 忘记密码的解决方法。

解决方法

方法一:通过忘记密码向导重置密码

  1. 停止 MySQL 服务:sudo systemctl stop mysql

  2. 在启动时将 MySQL 服务配置成跳过授权表(即跳过密码验证)模式启动,并设定一个新密码:

shell
sudo mysqld_safe --skip-grant-tables & # 跳过授权表模式启动 mysql 服务
mysql # 登录到 MySQL 数据库
UPDATE mysql.user SET authentication_string = PASSWORD('your_new_password'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
exit; # 退出 MySQL 数据库
sudo pkill mysqld # 关闭 MySQL 服务

  1. 启动 MySQL 服务:sudo systemctl start mysql

  2. 用新密码登录 MySQL 数据库:mysql -u root -p(your_new_password)

  3. 更改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';

  4. 退出 MySQL 数据库,重新启动 MySQL 服务:sudo systemctl restart mysql

方法二:重置 MySQL root 用户密码

如果上一种方法不起作用,可以尝试使用如下命令重置 MySQL root 用户密码:

sudo systemctl stop mysql # 停止 MySQL 服务
sudo mysqld --skip-grant-tables --skip-networking & # 跳过授权表和网络连接是安全的
mysql -u root # 登录到 MySQL 数据库
USE mysql;
UPDATE user SET authentication_string=PASSWORD('your_new_password') WHERE User='root';
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit; # 退出 MySQL 数据库
sudo pkill mysqld # 关闭 MySQL 服务
sudo systemctl start mysql # 重启 MySQL 服务

如果您的数据库有多个用户,则对应更改第 5、6 行处的 User='root' (例如:User='example')即可。

示例说明

示例一:通过忘记密码向导重置密码

当您在 Ubuntu 18.04 上的 MySQL 服务器中忘记密码时,您可以按照以下步骤重置密码:

  1. 停止 MySQL 服务:

shell
sudo systemctl stop mysql

  1. 以跳过授权表模式启动 MySQL 服务器,并设定一个新密码:

shell
sudo mysqld_safe --skip-grant-tables & # 跳过授权表模式启动 mysql 服务
mysql # 登录到 MySQL 数据库
UPDATE mysql.user SET authentication_string = PASSWORD('your_new_password'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
exit; # 退出 MySQL 数据库
sudo pkill mysqld # 关闭 MySQL 服务

  1. 启动 MySQL 服务:

shell
sudo systemctl start mysql

  1. 使用新密码登录 MySQL 数据库:

shell
mysql -u root -p(your_new_password)

示例二:重置 MySQL root 用户密码

如果无法通过忘记密码向导进行密码重置,可以尝试以下方式:

  1. 停止 MySQL 服务:

shell
sudo systemctl stop mysql

  1. 以忽略授权表和网络连接启动 MySQL 服务器,并登陆到 MySQL 数据库:

shell
sudo mysqld --skip-grant-tables --skip-networking &
mysql -u root

  1. 在 MySQL 数据库中更改 root 用户的密码:

shell
USE mysql;
UPDATE user SET authentication_string=PASSWORD('your_new_password') WHERE User='root';
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;

  1. 重新启动 MySQL 服务器:

shell
sudo systemctl start mysql

通过以上两种方式,您就可以轻松重新设置 Linux 下 MySQL 的密码了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux下mysql忘记密码的解决方法 - Python技术站

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

相关文章

  • mysql数据库中的索引类型和原理解读

    当我们在MySQL中进行数据库操作的时候,如果表中的数据量过大,查询速度会变得缓慢,此时需要使用数据库中的索引功能来提高查询效率。在本篇攻略中,我们将讲解MySQL数据库中的索引类型和原理解读。 索引类型 在MySQL中主要有以下四种索引类型: 1. B-Tree 索引 B-Tree(平衡树)是一个多路搜索树,它的每个节点最多有m个孩子节点,并且除了根节点和…

    database 2023年5月19日
    00
  • mysql数据库是做什么

    MySQL是一个开源的关系型数据库管理系统,用于存储、管理和检索数据。它被广泛用于各种类型的应用程序和网站,具有快速、可靠和易于使用等特点。 MySQL被广泛用于以下几方面: 1. 数据存储 MySQL可以用于存储各种类型的数据,如文本、数字、图像等。它使用表来存储数据,并且支持复杂的查询和数据检索操作。例如,我们可以使用MySQL来存储一个简单的学生信息表…

    database 2023年5月19日
    00
  • Oracle中使用DBMS_XPLAN处理执行计划详解

    让我来详细讲解一下“Oracle中使用DBMS_XPLAN处理执行计划详解”的完整攻略。 什么是DBMS_XPLAN? DBMS_XPLAN是Oracle数据库中的一个包(Package),用于显示SQL语句的执行计划。使用DBMS_XPLAN可以更加方便地分析和优化SQL语句的执行效率。在默认情况下,Oracle数据库会为所有的SQL语句自动调用DBMS_…

    database 2023年5月21日
    00
  • SpringBoot数据库初始化datasource配置方式

    关于SpringBoot数据库初始化datasource配置方式的攻略,我将会给出以下的详细讲解: 1. 配置application.properties 在SpringBoot项目中,我们可以通过application.properties配置文件来设置初始化datasource。以下是一个基本的数据库配置,其中涵盖了必要的属性: spring.datas…

    database 2023年5月18日
    00
  • Navicat Premium连接到Centos服务器上的Mysql

    1.如何通过本地连接到云服务器上的数据库? 我的配置如下: 客户端:Navicat Premium    服务器:阿里云ECS服务器中的Centos7.6系统 2.配置云服务器上的端口,也就是我们要在服务器那里打开我们要访问的端口,让外部可以访问才能连接上我们的数据库,数据库的端口默认是3306,配置步骤如下: 一、在阿里云服务器ECS控制台的安全组- -&…

    MySQL 2023年4月12日
    00
  • 一道sql面试题附答案

    一道SQL面试题附答案,是一个很好的SQL测试题,在SQL面试中被经常使用。本篇文章将为您提供一份完整的攻略,帮助您更好地理解和解决这个问题。 面试题 以下是一道经典的SQL面试题: 给定一个包含两个列的用户表,第一列为用户ID,第二列为注册日期。编写 SQL 查询,找到在 2020 年注册的所有用户。 表名:users user_id registrati…

    database 2023年5月21日
    00
  • ORACLE锁机制深入理解

    ORACLE锁机制深入理解 什么是ORACLE锁 ORACLE锁是为了数据并发控制所设计的机制,用于保证数据库事务的正确性和一致性。在并发环境中,多个用户或应用程序同时访问同一资源,如果不进行并发控制,就会导致数据的不一致和错误。ORACLE锁机制通过对资源加锁来保证数据库的一致性和正确性。 ORACLE锁的种类 在ORACLE中,可以使用以下两种锁机制进行…

    database 2023年5月21日
    00
  • SQLite 和 SQL Server 的区别

    SQLite和SQL Server是两款常用的关系型数据库管理系统软件。虽然它们都属于关系型数据库管理系统,但它们之间还存在一些区别。本篇攻略将详细讲解SQLite和SQL Server的区别,并通过实例进行说明。 1. SQLite和SQL Server的概述 1.1 SQLite SQLite是一款轻量级的关系型数据库管理系统。它是一种嵌入式数据库,它的…

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