`
GavinHsueh
  • 浏览: 70923 次
文章分类
社区版块
存档分类
最新评论

图文详解linux/windows mysql忘记root密码解决方案

阅读更多

经常有用户过来咨询说自己的mysql服务器忘记密码了怎么办,为了更好的解决大家的困扰,本文特归档整理了windows和linux系统下,mysql忘记密码的解决方案。本文内容是我亲测实用,当然过程中踩过的坑我也会在本文中一并分享交流。废话不多说,上菜~


Windows篇


演示环境:

 

服务器:windows2003 64位企业版

mysql版本:5.6.17

 

操作步骤:

 

1. 关闭mysql服务。

 

以管理员身份登录到您的服务器系统,如果服务器上的Mysql正在运行,则先停止MySQL服务。对于Windows服务器,先转到“服务”管理器:从“ 开始”菜单中选择“ 设置--控制面板”,然后 选择“管理工具”,然后选择“服务”。在列表中找到MySQL服务并停止它。

如果你使用的是组合包软件,通常软件中应该内置了一键关闭mysql服务的按钮。

 

 

2. 运行CMD命令切换到MySql的bin目录,执行mysqld --skip-grant-tables(注意后面没有分号)

 

 

3. 此命令行窗口不要关闭,再重新打开一个新的命令行窗口。注意,这时有时会出现一个警告,不要理会即可。

 


4. 再次打开一个cmd新窗口。按上面方法运行至bin目录下,运行命令:mysql -u root  -p,提示输入密码,直接回车即可

 

 

5.连接权限数据库,这一步不能少,否则会掉坑里的。

 

>use mysql;

 

根据我数遍的亲测,如果少了这一步,会出现mysql无法启动,意外终止的结果。如下图

 

注:如果你不幸已掉坑里,可以参考这里我亲测有效的解决方案:http://www.chanzhi.org/thread/1441.html


6. 执行修改密码命令,(这里我将密码修改为123456)。

 

 

update mysql.user set password=PASSWORD('123456') where User='root';

 

7. 刷新执行:

 

 

mysql> flush privileges;

 

8. 关闭窗口,注销系统再进入,开启mysql服务,重新登录。

 

 


Linux篇


演示环境:

 

服务器:CentOS6.5 64位版
mysql版本:5.7.9

 

操作步骤:


1. KILL掉系统里的MySQL进程;

 

killall -TERM mysqld


2. 用以下命令启动MySQL,以不检查权限的方式启动;

 

mysqld --skip-grant-tables &


3. 然后用空密码方式使用root用户登录 MySQL;

 

mysql -u root

 

4. 修改root用户的密码,这里我改为123456;

 

update mysql.user set authentication_string=password('123456') where user='root' ;

 

你可能会有疑问,上面命令中的“authentication_string”字段是什么。注意我这里安装的mysql版本是5.7。起初我是用下面的命令进行修改密码操作的,但是反馈给我一个错误提示,如图所示。

 

mysql> update mysql.user set password=PASSWORD('123456') where User='root';

 

 

网上查了下资料才知道,原来mysql5.7数据库下已经没有password这个字段了。password字段改成了authentication_string。如果大家在具体操作时,根据自己的mysql版本做相应的命令调整即可。

 

5.刷新执行。

 

mysql> flush privileges;
mysql> quit

 

6.重新启动MySQL,就可以使用新密码登录了。

 

 

小结:

本文和大家一起分享了Windows和linux服务器下,mysql服务root账户密码的修改解决方案。如果大家在实际操作中有其他问题,或者您有更好的解决方案,欢迎和大家一起分享交流。我们共同学习,共同交流,共同进步。经常有用户过来咨询说自己的mysql服务器忘记密码了怎么办,为了更好的解决大家的困扰,本文特归档整理了windows和linux系统下,mysql忘记密码的解决方案。本文内容是我亲测实用,当然过程中踩过的坑我也会在本文中一并分享交流。废话不多说,上菜~


Windows篇


演示环境:

 

服务器:windows2003 64位企业版

mysql版本:5.6.17

 

操作步骤:

 

1. 关闭mysql服务。

 

以管理员身份登录到您的服务器系统,如果服务器上的Mysql正在运行,则先停止MySQL服务。对于Windows服务器,先转到“服务”管理器:从“ 开始”菜单中选择“ 设置--控制面板”,然后 选择“管理工具”,然后选择“服务”。在列表中找到MySQL服务并停止它。

如果你使用的是组合包软件,通常软件中应该内置了一键关闭mysql服务的按钮。

 

 

2. 运行CMD命令切换到MySql的bin目录,执行mysqld --skip-grant-tables(注意后面没有分号)

 

 

3. 此命令行窗口不要关闭,再重新打开一个新的命令行窗口。注意,这时有时会出现一个警告,不要理会即可。

 


4. 再次打开一个cmd新窗口。按上面方法运行至bin目录下,运行命令:mysql -u root  -p,提示输入密码,直接回车即可

 

 

5.连接权限数据库,这一步不能少,否则会掉坑里的。

 

>use mysql;

 

根据我数遍的亲测,如果少了这一步,会出现mysql无法启动,意外终止的结果。如下图

 

注:如果你不幸已掉坑里,可以参考这里我亲测有效的解决方案:http://www.chanzhi.org/thread/1441.html


6. 执行修改密码命令,(这里我将密码修改为123456)。

 

 

update mysql.user set password=PASSWORD('123456') where User='root';

 

7. 刷新执行:

 

 

mysql> flush privileges;

 

8. 关闭窗口,注销系统再进入,开启mysql服务,重新登录。

 

 


Linux篇


演示环境:

 

服务器:CentOS6.5 64位版
mysql版本:5.7.9

 

操作步骤:


1. KILL掉系统里的MySQL进程;

 

killall -TERM mysqld


2. 用以下命令启动MySQL,以不检查权限的方式启动;

 

mysqld --skip-grant-tables &


3. 然后用空密码方式使用root用户登录 MySQL;

 

mysql -u root

 

4. 修改root用户的密码,这里我改为123456;

 

update mysql.user set authentication_string=password('123456') where user='root' ;

 

你可能会有疑问,上面命令中的“authentication_string”字段是什么。注意我这里安装的mysql版本是5.7。起初我是用下面的命令进行修改密码操作的,但是反馈给我一个错误提示,如图所示。

 

mysql> update mysql.user set password=PASSWORD('123456') where User='root';

 

 

网上查了下资料才知道,原来mysql5.7数据库下已经没有password这个字段了。password字段改成了authentication_string。如果大家在具体操作时,根据自己的mysql版本做相应的命令调整即可。

 

5.刷新执行。

 

mysql> flush privileges;
mysql> quit

 

6.重新启动MySQL,就可以使用新密码登录了。

 

 

小结:

本文和大家一起分享了Windows和linux服务器下,mysql服务root账户密码的修改解决方案。如果大家在实际操作中有其他问题,或者您有更好的解决方案,欢迎和大家一起分享交流。我们共同学习,共同交流,共同进步。

0
0
分享到:
评论

相关推荐

    MySQL-Cluster架构图文详解

    MySQL Cluster 是一种高性能、高可用性的数据库解决方案,特别适用于需要实时事务处理的应用场景。它采用了无共享架构,数据存储在专门的数据节点 (NDB) 上,并通过管理节点 (MGM) 和 SQL 节点 (SQL) 实现数据管理和...

    mysql 8.0.18 安装配置方法图文教程(linux).docx

    ### MySQL 8.0.18 在 Linux 下的安装配置详解 #### 一、概述 本文档详尽地介绍了如何在 Linux 系统上安装与配置 MySQL 8.0.18 版本,适用于那些希望在自己的 Linux 服务器上部署 MySQL 数据库系统的读者。整个过程...

    php apache mysql配置详解

    6. **安全考虑**:在生产环境中,不要忘记安全配置,如更改默认的MySQL root密码,使用非root用户运行Apache,限制Apache对系统文件的访问,以及启用防火墙规则。 7. **优化与性能**:根据需求调整Apache的并发连接...

    linux安装mysql数据库以及配置Java项目的图文详解

    Linux安装MySQL数据库以及配置Java项目的图文详解 本篇文章将对Linux安装MySQL数据库和配置Java项目进行详细的图文解释。 一、安装 MySQL 数据库 在Linux系统中安装MySQL数据库需要经过多个步骤。首先,需要下载...

    超级详细的MySQL安装图文详解

    2. `mysqld --initialize-insecure --user=mysql`:初始化MySQL,创建root用户,初始密码为空。 3. `net start mysql`:启动MySQL服务。 4. `mysqladmin -u root -p password 新密码`:设置root用户的密码。 至此,...

    LAMP环境搭建(图文).docx

    LAMP是一种常见的网站服务器解决方案,其中L代表Linux操作系统,A代表Apache Web服务器,M代表MySQL数据库,P代表PHP脚本语言。通过LAMP组合可以搭建一个高效稳定的Web服务平台。 #### 二、所需软件及版本 - **...

    MySQL主从同步与读写分离配置图文详解

    ### MySQL主从同步与读写分离配置详解 #### 一、实验目的 在现代的生产环境中,单一的MySQL服务器往往无法满足对数据处理的安全性、高可用性和高并发的需求。因此,采用**主从同步(Master-Slave Replication)**...

    mysql5.0安装教程(图文详解).pdf

    然而,结合标题和描述中的信息“mysql5.0安装教程(图文详解).pdf”,我们可以构建一个关于MySQL 5.0安装的知识点概要。以下是基于MySQL 5.0数据库安装过程的知识点汇总,不包含实际图文教程内容,但可以为安装MySQL ...

    图文详解Ubuntu下安装配置Mysql教程

    2. 安装离线包,以mysql-5.0.45-linux-i686-icc-glibc23.tar.gz为例。 3. 二进制包安装:安装完成已经自动配置好环境变量,可以直接使用mysql命令 网上安装和二进制包安装比较简单,重点说安装离线包。  1. ...

    MySQL5.0安装和配置图文详解

    在安全选项中,设置root用户的密码。这里我们设定为"1234",但实际使用中,为了安全性,建议设置更复杂的密码。密码策略应包含大写字母、小写字母、数字和特殊字符的组合。 最后,确认所有设置无误后,点击"Execute...

    mysql5.7.15安装配置方法图文教程.docx

    ### MySQL 5.7.15 的安装与配置方法详解 #### 一、软件下载与准备 MySQL 是一款广泛使用的开源关系型数据库管理系统,适用于多种操作系统。本文将详细介绍 MySQL 5.7.15 版本在 Windows 系统下的安装配置流程。 1...

    Mac OS系统下mysql 5.7.20安装教程图文详解

    在Mac OS系统中安装MySQL 5.7.20的过程相比之前的5.6版本有所...如果你对MySQL的其他版本或在不同操作系统上的安装有兴趣,可以参考相关的教程,如MySQL 4.1到5.6各版本的区别,以及在Windows或Linux下的安装方法等。

    MySQL Installer 8.0.21安装教程图文详解

    - 可参考其他教程,如MySQL 8.0.21.0社区版的图文教程,以及关于在Windows 10上彻底卸载MySQL的教程,以应对可能出现的其他问题。 总结:MySQL Installer 8.0.21提供了一种简单的方式来安装和管理MySQL组件,通过...

    mysql数据库安装图文步骤

    ### MySQL 数据库安装图文步骤详解 #### 一、前言 MySQL 是一款广泛使用的开源关系型数据库管理系统,因其高效稳定且易于使用而受到广大开发者尤其是Java开发者的青睐。本文将详细介绍如何在Windows 7系统下安装...

Global site tag (gtag.js) - Google Analytics