当前位置: 代码迷 >> MySQL >> MySQL 5.6 root密码丢掉,使用mysqld -skip-grant-tables
  详细解决方案

MySQL 5.6 root密码丢掉,使用mysqld -skip-grant-tables

热度:295   发布时间:2016-05-05 16:40:24.0
MySQL 5.6 root密码丢失,使用mysqld --skip-grant-tables

MySQL 5.6 root密码丢失,(window平台)使用mysqld –skip-grant-tables启动MySQL服务,出现警告:

1[Warning] TIMESTAMP with implicit DEFAULT value is deprecated.Please use --explicit_defaults_for_timestamp server option (seedocumentation for more details)

解决方法:

Step1:

1进 入cmd模式,输入命令:net stop mysql 停止开机启动的 mysql services(如果是手动启动可以跳过Step1,我的pc是开机启动),我电脑上的mysql services名字是mysql,你的名字可能不一样!, net stop xxx (xxx代表你的mysql services名字)

Step2:

1找到mysql安装目录下的 my.ini文件,在[mysqld]下方添加:
1explicit_defaults_for_timestamp = true
2 
3添加好后像这样:
1[mysqld]
2explicit_defaults_for_timestamp = true

Step3:

1现在开始使用mysqld命令手动启动mysql services,既然是手动启动,肯定要为该命令指定启动配置文件my.ini的存放路径,我的路径是:D:\java\MySQL\ProgramData\MySQL Server 5.6
2 
3在cmd模式下输入:
1mysqld --defaults-file="d:\java\MySQL\ProgramData\MySQL Server 5.6\my.ini" --skip-grant-tables
2 
3输入:
1mysql -u root
2 
3可以看到已经进入mysql>状态下了,重新给root用户设置密码:
1mysql>UPDATE mysql.user SET Password=PASSWORD("newpassword")  WHERE User='root' and Host='localhost';

Step4:

1mysql>FLUSH PRIVILEGES;
2加载权限表,让新密码生效!
  相关解决方案