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

下面为您详细讲解在 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的核心功能之一。MySQL支持多种存储引擎,每种存储引擎都有着不同的特点和优缺点。默认的存储引擎一般是InnoDB,但是用户可以根据具体需求选择适合自己的存储引擎。 存储引擎的种类 MySQL支持多种存储引擎,下面介绍常用的存储引擎: Inno…

    database 2023年5月19日
    00
  • Hbase入门详解

    HBase入门详解攻略 什么是HBase Apache HBase是一个分布式、可伸缩、面向列的NoSQL数据库,基于Hadoop HDFS构建,拥有高可用性、高扩展性、高可靠性等优势。它主要面向海量、流式数据的实时读写访问,是一个可以存储海量半结构化数据的分布式数据库。 安装和配置HBase 安装HBase 下载并解压HBase压缩包 shell wget…

    database 2023年5月22日
    00
  • 解决Springboot项目启动后自动创建多表关联的数据库与表的方案

    解决 Spring Boot 项目启动后自动创建多表关联的数据库与表是一个常见的需求,可以通过以下几个步骤实现: 步骤一:引入依赖 首先需要在 pom.xml 中引入相关的依赖,如下所示: <dependency> <groupId>org.springframework.boot</groupId> <artifa…

    database 2023年5月21日
    00
  • MySQL主从同步中的server-id示例详解

    在MySQL主从同步中,每一个实例都需要有一个独一无二的server-id。server-id是MySQL实例在进行主从同步时,使用的一个重要标识,用于识别不同的MySQL实例,避免数据在传输过程中混淆。 下面是关于MySQL主从同步中的server-id的详细攻略: 什么是server-id server-id是MySQL主从同步中扮演重要角色的标识。每一…

    database 2023年5月22日
    00
  • Mysql连接本地报错:1130-host … is not allowed to connect to this MySQL server解决

    问题描述: 在连接 MySQL 数据库时,可能会出现以下错误提示: Mysql连接本地报错:1130-host … is not allowed to connect to this MySQL server解决 这通常是由于 MySQL 配置文件中未添加相关权限导致的。 解决步骤: 步骤一:检查 MySQL 用户访问权限 首先,我们需要检查 MySQL…

    database 2023年5月18日
    00
  • 手把手教你MySQL运算符

    手把手教你MySQL运算符 前言 MySQL运算符是处理数据时必不可少的一部分,掌握好运算符的使用可以提高SQL语句的执行效率,从而提升系统的性能。本文将手把手地教你MySQL中常用的运算符及其使用方法,并通过两条示例进行说明。 运算符列表 下面是MySQL中常用到的运算符列表: 算术运算符:加(+)、减(-)、乘(*)、除(/)、求余(%) 比较运算符:等…

    database 2023年5月22日
    00
  • SQL – 约束

    SQL约束是一组规则,用于保证数据库表中数据的正确性和一致性。在创建表时,可以通过使用约束规定数据的格式、类型、完整性以及一些限制条件。本文将详细讲解SQL-约束,包括其类型、如何使用约束以及一些实例。 类型 SQL约束主要可以分为以下五种类型: NOT NULL NOT NULL约束规定表中的字段值不能为空。如果尝试插入或更新时将NULL值插入此字段,将会…

    database 2023年3月27日
    00
  • DBMS和RDBMS之间的区别

    DBMS和RDBMS是数据库管理系统的两种类型。DBMS是数据库管理系统的一种,创新性地推出了数据库系统,RDBMS又是DBMS派生出来一种。两者之间的区别在于数据存储方式、数据结构和服务运行规则等方面。 一、DBMS概述 DBMS(Database Management System)是数据库管理系统的缩写,是对人员、软件和硬件等一系列资源进行管理的系统。…

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