`

正确重置MySQL密码

 
阅读更多

谁都不想弄丢家门钥匙,但不管多么小心,时间长了,这样的事情总会发生几次。MySQL密码也是一样,把它写在文档上不太安全,记在脑子里又难免会忘记。

 

如果你忘记了MySQL密码,如何重置它呢?

下面是错误答案:

首先停止MySQL服务,然后使用skip-grant-tables参数启动它:

shell> /etc/init.d/mysql stop
shell> mysqld_safe --skip-grant-tables &

此时无需授权就可以进入到MySQL命令行,使用SQL重置MySQL密码:

UPDATE mysql.user SET Password=PASSWORD('...') WHERE User='...' AND Host= '...';
FLUSH PRIVILEGES;

为什么说它是错误答案?因为在单纯使用skip-grant-tables参数启动服务后,除非数据库服务器屏蔽了外网访问,否则除了自己,其它别有用心的人也可能访问数据库,尽管重置密码所需的时间很短,但俗话说不怕贼偷就怕贼惦记着,任何纰漏都可能酿成大祸。

下面是正确答案:

关键点是:在使用skip-grant-tables参数的同时,还要加上skip-networking参数:

shell> mysqld_safe --skip-grant-tables --skip-networking &

接着使用SQL重置密码后,记得去掉skip-networking,以正常方式重启MySQL服务:

shell> /etc/init.d/mysqld restart

上面的方法需要重启两次服务,实际上还能更优雅一点,重启一次即可:

首先需要把用到的SQL语句保存到一个文本文件里(/path/to/init/file):

UPDATE mysql.user SET Password=PASSWORD('...') WHERE User='...' AND Host= '...';
FLUSH PRIVILEGES;

接着使用init-file参数启动MySQL服务,

shell> /etc/init.d/mysql stop
shell> mysqld_safe --init-file=/path/to/init/file &

此时,密码就已经重置了,最后别忘了删除文件内容,免得泄露密码。

提示:本文用到的参数都是通过命令行mysqld_safe传递的,实际上也可以通过my.cnf。

参考:关于重置密码,官方文档里有专门的描述:How to Reset the Root Password

分享到:
评论

相关推荐

    linux下重置MySQL密码

    如果你忘记了MySQL的密码,可以通过下面的步骤重置密码。 本文件是一个简单的shell脚本来完成这个过程。请在继续之前确保你有足够的权限来执行这些操作,并且对系统有一定的了解。 本文件是通过登录MySQL的安全模式...

    Linux中快速安装mysql5.6、MySQL5.7 以及重置密码

    本文主要关注如何快速安装MySQL的两个主要版本——MySQL5.6和5.7,并介绍如何重置MySQL的登录密码。以下是详细的步骤和注意事项: 首先,需要检查系统中是否存在MariaDB数据库。由于MariaDB与MySQL在某些系统上可能...

    mysql密码重置流程

    MySQL密码重置流程是数据库管理员在忘记或需要更改root用户密码时必须遵循的一系列步骤。下面是详细的操作指南: 1. **停止MySQL服务**:首先,你需要确保MySQL服务已经停止,以防止其他用户在你进行密码修改时进行...

    mysql5.5 root用户密码重置脚本

    这时,我们可以使用特定的脚本来重置MySQL 5.5的root用户密码。 "resetRootPassword.bat" 是一个批处理文件,通常用于Windows环境,它包含了运行MySQL服务并修改root密码的命令。这个脚本会启动MySQL服务,并在安全...

    mysql密码破解详细

    ### MySQL密码破解与修改详解 #### 一、MySQL密码修改方法概述 在处理MySQL数据库时,有时会遇到忘记密码的情况,这可能导致无法登录数据库进行管理。本文将详细介绍如何在不破坏MySQL服务的前提下修改MySQL的密码...

    Mysql 8.0安装及重置密码问题

    在这个教程中,我们将探讨如何在Windows操作系统上安装MySQL 8.0,并解决重置管理员密码的问题。 首先,你需要从MySQL官方网站(https://dev.mysql.com/downloads/mysql/)下载适合你系统的MySQL安装包。确保选择...

    记一次MySql重置root密码无效.doc

    在本文中,我们将讨论一个常见的MySQL管理问题,即如何重置root用户的密码,以及当重置操作似乎无效时应如何解决。这个问题发生在一个Windows Server 2019数据中心版的操作系统上,其中安装了经典的MySQL 5.6版本。...

    ubuntu修改mysql密码

    ### Ubuntu下修改MySQL密码的方法 在Ubuntu系统中,MySQL数据库是非常常见的数据存储解决方案之一。由于安全性和管理的需求,我们可能需要定期更改MySQL的密码。本文将详细介绍如何在Ubuntu环境下通过两种方式来...

    重设MYSQL ROOT密码

    通过以上步骤,我们能够在Windows环境下成功重置MySQL ROOT用户的密码。这一过程不仅适用于忘记密码的情况,也适用于需要增强安全性或其他特殊场景的需求。希望本指南能够帮助您顺利完成密码重置操作。

    CentOS下重置MySQL的root密码的教程

    在CentOS系统中,重置MySQL的root密码是一项常见的任务,尤其当您忘记或不确定当前root用户的密码时。本文将详细介绍如何在CentOS环境下重置MySQL root密码的步骤,包括必要的系统权限设置以及使用mysqladmin工具的...

    帝国cms管理员密码重置插件

    4. **数据库交互**:密码重置涉及到对用户表中的密码字段进行更新,这需要插件能够正确连接和操作数据库。 5. **安全编码**:插件的代码应遵循安全编码规范,避免SQL注入等安全风险。 6. **备份与恢复**:在执行...

    MySQL密码正确却无法本地登录-1045

    MySQL数据库是世界上最流行的开源关系型数据库管理系统之一,但在日常使用中,用户可能会遇到各种问题,其中一个常见的问题是“MySQL密码正确却无法本地登录-1045”。这个问题通常表现为尝试使用正确的用户名和密码...

    windows下重置mysql的root密码方法介绍

    注意:在进行密码重置时,确保操作的正确性和安全性。建议在正式操作之前备份数据库,以防万一出现错误导致数据丢失。另外,重置密码后,要确保加强MySQL服务器的安全配置,防止未授权访问或SQL注入攻击等安全事件...

    dede后台密码重置文件

    5. **数据库操作**:虽然此脚本简化了密码重置流程,但其原理可能涉及对MySQL数据库的直接操作,修改特定表(如`dede_admin`)中的相应字段(如`password`)。 6. **安全注意事项**:使用这样的重置方法虽然便捷,...

    mysql忘记密码的修改步骤.

    下面将详细介绍如何在Windows环境下进行MySQL密码的重置。 #### 步骤1:停止MySQL服务 1. **命令方式停止MySQL服务**: - 打开命令提示符(CMD)。 - 输入以下命令来停止MySQL服务:`net stop mysql`。 **...

    一键重置mysql的root密码脚本

    在数据库管理系统中,MySQL是一个非常广泛使用的开源关系型数据库。它由瑞典MySQL AB公司开发,现在是甲骨文...掌握这些知识点后,用户可以快速有效地重置MySQL的root密码,并且了解其潜在的安全风险和正确的使用场景。

    MySQL/MariaDB的Root密码重置教程

    总结来说,重置MySQL/MariaDB Root密码涉及停用服务、以特殊模式重启、更新密码、恢复正常服务和验证新密码。这个过程是解决忘记Root密码问题的关键步骤,但要谨慎处理,避免对数据库的安全性造成影响。通过理解并...

    mysql在cmd中设置密码

    接着,我们来讲解如何设置或重置MySQL的root用户密码。有两种常见的方法: 1. **使用`mysqld_safe --skip-grant-tables`**: - 打开一个新的CMD窗口,输入`mysqld_safe --skip-grant-tables &`,这将启动MySQL...

    织梦后台密码重置

    这时,了解如何进行织梦后台密码重置就显得尤为重要。 首先,我们要理解织梦后台密码重置的基本流程。这个过程通常涉及到数据库操作,因为用户的登录信息,包括密码,都存储在数据库中的相应表中。以下是详细的步骤...

Global site tag (gtag.js) - Google Analytics