Window下Mysql忘记root密码怎么重置

 更新时间:2017年02月21日 10:10:10   作者:落伍者  
这篇文章主要介绍了Window下Mysql忘记root密码的重置方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

本人机器环境:

Windows 2008 R2

MySQL 5.6

以“Window下忘记Mysql的root密码”百度,找到一大堆解决方案。大多大同小异,比较经典的是百度文库上的一篇【1】,图文并茂,条理也比较清晰。立刻按照这篇文章描述的操作。

具体操作如下:

  以下步骤如果添加了MySQL的环境变量,则可以直接运行mysql有关命令,否则必须到mysql安装目录的bin目录下操作。

步骤如下:

1.停止mysql服务(以管理员身份,在cmd命令行下运行) net stop mysql

2.使用 mysqld –skip-grant-tables 命令启动mysql数据库

D:\>net stop mysql MySQL 服务正在停止. MySQL 服务已成功停止。

D:\>mysqld --skip-grant-tables

3.不关闭以上窗口,新开一个cmd窗口,输入mysql -u root,直接按回车键

D:\>mysql -u root

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.26-rc-community MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> update mysql.user set password=password('aaa') where user='root';

密码可以自己随便写。

Query OK, 1 row affected (0.02 sec) Rows matched: 2 Changed: 1 Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec) mysql>

4.打开任务管理器,停止mysql,mysqld进程,使用net start mysql启动mysqld服务,就可以使用root用户 root密码进入数据库了

mysql -u root -p aaa

补充说明:

1.mysqld使用说明可以使用如下命令获取查看:

mysqld --verbose --help > d:\mysqld_help.txt

帮助中–skip-grant-tables的帮助为:

--skip-grant-tables Start without grant tables. This gives all users FULL ACCESS to all tables!

所以我们可以使用mysql -uroot而不用密码直接登陆mysql,而且可以修改任何表。

本人实践,用mysqld --skip-grant-tables启动mysql,mysql -u root -p空密码可以登录,修改密码也会提示成功,但是正常启动mysql时,用新的密码依旧无法登录。本人想到既然在中文网站无法找到答案,尝试上国外的网站寻求答案。于是以mysql 5.6 forget root password为关键字搜索,在mysql.com上的一篇文档”B.5.3.2 How to Reset the Root Password“【2】找到了答案。

具体操作步骤如下:

(1)停止mysql

如果以服务的方式运行,在服务管理工具停止mysql服务。或者在控制台运行如下命令。

net stop mysql56

如果没有以服务方式运行,在任务管理器里终止mysqld进程。

(2)创建一个文本文件写入如下内容。MyNewPass是新的密码

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

(3)保存为c:\init.txt

(4)在控制台窗口执行如下命令

mysqld --init-file=C:\\init.ini

注意:

1)如果添加了MySQL的环境变量,则可以直接运行mysql有关命令,否则必须到mysql安装目录的bin目录下操作

2)如果你是用Mysql安装向导安装的Mysql,则需要添加 --defaults-file参数,命令如下:

mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --init-file=C:\\init.ini

--defaults-file参数可以从服务管理获得:开始》控制面板》管理工具》服务,找到MySql服务,单击右键,选择属性选项卡,“执行路径”包含--defaults-file参数。

(5)系统启动成功后,关闭Mysql,删掉init.ini文件即可。

参考文献:

[1]http://wenku.baidu.com/view/5c0d2164e55c3b3567ec102de2bd960590c6d9c0

[2]https://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html

以上所述是小编给大家介绍的Window下Mysql忘记root密码的重置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • MySQL 8.0.41图文详细安装教程 附安装包

    MySQL 8.0.41图文详细安装教程 附安装包

    本文详细介绍了MySQL 8.0.41的安装步骤,包括下载安装包、选择安装模式、设置数据库密码、配置系统环境变量以及验证安装结果,适合初学者和企业级应用,感兴趣的朋友一起看看吧
    2025-03-03
  • MySQL如何保证备份数据的一致性详解

    MySQL如何保证备份数据的一致性详解

    在高并发的场景下,大量的请求直接访问Mysql很容易造成性能问题,下面这篇文章主要给大家介绍了关于MySQL如何保证备份数据一致性的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • MySQL交换分区的实例详解

    MySQL交换分区的实例详解

    这篇文章主要介绍了MySQL交换分区的实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • mysql中explain用法详解

    mysql中explain用法详解

    EXPLAIN用于SELECT语句中的每个表返回一行信息。表以它们在处理查询过程中将被MySQL读入的顺序被列出
    2013-02-02
  • 从一个MySQL的例子来学习查询语句

    从一个MySQL的例子来学习查询语句

    从一个MySQL的例子来学习查询语句...
    2006-12-12
  • MySQL中的insert set 和 insert values用法

    MySQL中的insert set 和 insert values用法

    这篇文章主要介绍了MySQL中的insert set 和 insert values用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 详解MySQL中的视图

    详解MySQL中的视图

    视图是一个虚拟表,非真实存在,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用视图名称即可获取结果集,并可以将其当作表来使用,这篇文章主要介绍了MySQL的视图,需要的朋友可以参考下
    2022-12-12
  • MYSQL输入密码后闪退现象的解决方法

    MYSQL输入密码后闪退现象的解决方法

    最近在启动MySQL服务端并输入密后,出现闪退现象,实际上这种问题很常见,下面这篇文章主要给大家介绍了关于MYSQL输入密码后闪退现象的解决方法,文中介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • centos7中如何利用crontab进行mysql定时备份

    centos7中如何利用crontab进行mysql定时备份

    crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令,下面这篇文章主要给大家介绍了关于centos7中如何利用crontab进行mysql定时备份的相关资料,需要的朋友可以参考下
    2022-02-02
  • pycharm2017实现python3.6与mysql的连接

    pycharm2017实现python3.6与mysql的连接

    这篇文章主要为大家详细介绍了PyCharm连接MySQL数据库的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03

最新评论