参考了这个帖子,然后自己根据实际操作有些地方改了
自己是1045错误,之前是因为用了mysqladmin改密码,结果第二天登陆出现1045错误
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
---------------------------
解决方法:
1、
进入cmd模式,输入命令:net stop MYSQL56 停止开机启动的 mysql services(如果是手动启动可以跳过Step1,我的pc是开机启动),我电脑上的mysql services名字是MYSQL56,名字在计算机-管理-服务栏下有,你的名字可能不一样!, net stop xxx (xxx代表你的mysql services名字)
2、
找到mysql安装目录下的 my.ini文件(我的是my-default.ini文件,改名为my.ini),
在[mysqld]下方添加:
explicit_defaults_for_timestamp =
true
添加后的样子:
[mysqld]
[mysqld]
explicit_defaults_for_timestamp =
true
截图:
Step3:
现在开始使用mysqld命令手动启动mysql services,既然是手动启动,肯定要为该命令指定启动配置文件my.ini的存放路径,我的路径是:C:\Program Files\MySQL\MySQL Server 5.6\bin,先转到这个目录下(cd: ....)
在cmd模式下输入:
mysqld --defaults-file=
"C:\Program Files\MySQL\MySQL Server 5.6\bin\my.ini"
--skip-grant-tables
如下图
转到当前目录,
cd :C:\Program Files\MySQL\MySQL Server 5.6\bin, 先转到这个目录下
shuru
输入
mysql -u root
可以看到已经进入mysql>状态下了,重新给root用户设置密码:
mysql>UPDATE mysql.user SET Password=PASSWORD(
"123456"
) WHERE User=
'root'
and Host=
'localhost'
; //123456是我的新密码
这时已经成功