在Linux环境下mysql的root密码忘记解决方法(三种)

下面就详细讲解一下在 Linux 环境下 mysql 的 root 密码忘记了之后应该如何解决,包括三种解决方法:

方法一:使用 mysql 安全模式重置 root 密码

  1. 首先,关闭 mysql 服务:
sudo systemctl stop mysql
  1. 然后,在安全模式下启动 mysql 服务,并跳过权限验证:
sudo mysqld_safe --skip-grant-tables &

在这里需要注意的是,一定要加上 & 符号,以使 mysqld_safe 在后台运行。

  1. 接着,登录到 mysql 服务中:
mysql -u root
  1. 接下来,修改 root 用户的密码:
use mysql;
update user set authentication_string=password('new_password') where user='root';
flush privileges;

其中,new_password 为你所设置的新密码。

  1. 最后,重启 mysql 服务:
sudo systemctl restart mysql

这样,就完成了使用安全模式重置 root 密码的过程。

方法二:使用默认权限登录并修改密码

  1. 在 mysql 登录界面,使用默认权限登录:
mysql -u root
  1. 登录之后,查看当前数据库中用户的信息:
select user,host,authentication_string from mysql.user;

在这个查询结果中,会显示所有用户的信息,我们需要找到 root 用户对应的那一行。

  1. 更新 root 用户的密码:
update mysql.user set authentication_string=password('new_password') where user='root';
flush privileges;

其中,new_password 为你所设置的新密码。

  1. 最后,退出 mysql 并重启服务:
quit;
sudo systemctl restart mysql

这样,就完成了使用默认权限登录并修改密码的过程。

方法三:使用 mysql_config_editor 重置 root 密码

  1. 首先,创建一个包含 mysql 用户名和密码的配置文件:
mysql_config_editor set --login-path=local --host=localhost --user=root --password

在这个命令中,--password 表示将会自动弹出密码设置对话框,从而避免了在命令行中输入密码的操作。

  1. 修改 root 用户的密码:
mysql --login-path=local -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';"

其中,new_password 为你所设置的新密码。

  1. 最后,重启 mysql 服务:
sudo systemctl restart mysql

这样,就完成了使用 mysql_config_editor 重置 root 密码的过程。

以上就是在 Linux 环境下 mysql 的 root 密码忘记了之后解决方法的三种方案,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Linux环境下mysql的root密码忘记解决方法(三种) - Python技术站

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

相关文章

  • oracle数据库添加或删除一列的sql语句

    当需要向已有的Oracle数据库表中添加一列或删除一列的时候,我们可以使用以下的SQL语句。 添加一列 语法 ALTER TABLE table_name ADD (column_name column_type); 参数说明 table_name:要添加列的表名称 column_name:要添加的列名称 column_type:要添加的列的数据类型 示例 …

    database 2023年5月21日
    00
  • MySql常用数据类型与操作详解

    MySql常用数据类型与操作详解 数据类型 数值类型 MySQL中常见的数值类型有TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、FLOAT、DOUBLE等。具体特点如下: TINYINT:有符号范围为-128~127,无符号范围为0~255。 SMALLINT:有符号范围为-32768~32767,无符号范围为0~65535。 …

    database 2023年5月22日
    00
  • mysql database manual(mysql数据库手册)

    MySQL是一种常用的关系型数据库管理系统,它有很多功能和应用,而MySQL数据库手册包含了MySQL的完整文档,其中包括了MySQL的安装、基本语法、高级特性、存储引擎等方面。下面是关于MySQL数据库手册的一个完整攻略。 1. MySQL数据库手册的获取方式 MySQL数据库手册可以从MySQL官方网站下载获取。你可以打开官方网站,选择下载页面,找到“D…

    database 2023年5月19日
    00
  • 异步的SQL数据库封装详解

    异步的SQL数据库封装主要是基于Python异步协程框架 asyncio 和 Python 的异步数据库 API – aiomysql 构建的,它优雅地解决了在异步编程场景下使用SQL数据库的繁琐问题。下面是使用异步的SQL数据库封装详解的完整攻略。 异步的SQL数据库封装使用攻略 引入异步的SQL数据库封装 在使用异步的SQL数据库封装前,需要在Pytho…

    database 2023年5月21日
    00
  • 如何在Python中使用MongoDB数据库?

    以下是在Python中使用MongoDB数据库的完整使用攻略。 使用MongoDB数据库的前提条件 在使用Python连接MongoDB数据库之前,确保已经安装了MongoDB数据库,并已经创建使用数据库和集合,同时需要安Python的驱动程序,例如pymongo。 步骤1:导入模块 在Python中使用pymongo模块连接MongoDB数据库。以下是导入…

    python 2023年5月12日
    00
  • LINUX启动/重启/停上MYSQL的命令(详解)

    LINUX启动/重启/停止MYSQL的命令详解 概述 MySQL是一个开放源码的关系型数据库管理系统,常用于web应用程序开发,是LAMP(Linux+Apache+MySQL+PHP/Python/Perl)中的重要组成部分。在Linux系统中,正确的启动、重启和停止MySQL是保证数据库正常工作的基础。 启动MySQL 在启动MySQL之前,需要检查My…

    database 2023年5月22日
    00
  • 如何在Python中使用sqlite3库连接SQLite数据库?

    在 Python 中,我们可以使用 sqlite3 库来连接 SQLite 数据库。下面是如何在 Python 中使用 sqlite3 库连接 SQLite 数据库的完整使用攻略。 连接 SQLite 数据库 在使用 sqlite3 库连接 SQLite 数据库时,需要指定数据库文件的路径。下面是一个连接 SQLite 数据库的示例: import sqli…

    python 2023年5月12日
    00
  • mysql变量用法实例分析【系统变量、用户变量】

    MySQL变量用法实例分析【系统变量、用户变量】 MySQL支持系统变量和用户变量,系统变量是MySQL引擎内部的变量,控制服务器的运行,而用户变量是由用户定义的,可以用于存储临时数据。 系统变量 系统变量在MySQL中定义了许多控制服务器运行行为的选项。以下是几个常见的系统变量: max_allowed_packet:该变量设置了只有大小小于该变量值的数据…

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