原文直通车,支持原创,人人有责!
一.问题情况(Windows环境):
二.解决办法: 将mysql的配置文件my-default.ini修改为my.ini(),打开my.ini文件在[mysqld]这个条目下加入 skip-grant-tables 保存退出后重启mysql,并且重新安装mysql. 操作如下图所示:
这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现password: 的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制。用下面的方法可以恢复正常: 1.进入mysql数据库:
mysql>
use mysql;
Database changed
2.给root用户设置新密码,蓝色部分自己输入:(这里的password字段已经在5.7之中修改为了authentication_string)
mysql
> update user
set authentication_string
=password(
"新密码")
where user
="root";
Query OK,
1 rows affected (
0.01 sec)
Rows matched:
1 Changed:
1 Warnings:
0
3.刷新数据库
mysql> flush privileges
Query OK,
0 rows affected (
0.00 sec)
4.退出mysql
mysql>
quit
Bye
再修改一下my.ini这个文件,删除刚加入的”skip-grant-tables”,保存退出再重启mysql,OK。
解决参考:小道胡同的博客