当前位置: 移动技术网 > IT编程>数据库>Mysql > Window下Mysql忘记root密码怎么重置

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

本人机器环境:

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 = 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]

[2]

以上所述是小编给大家介绍的window下mysql忘记root密码的重置方法,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网