Linux下MySQL忘记密码操作;本操作同样适用于错误: ERROR 1045 (28000)

本操作同样适用于错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

1.关闭MySQL服务:
service mysqld stop

Linux下MySQL忘记密码操作;本操作同样适用于错误: ERROR 1045 (28000)


2.设置MySQL无密码登陆
打开MySQL配置文件:vi /etc/my.cnf
Linux下MySQL忘记密码操作;本操作同样适用于错误: ERROR 1045 (28000)
在配置文件末尾加入无密码登陆命令:
skip-grant-tables
Linux下MySQL忘记密码操作;本操作同样适用于错误: ERROR 1045 (28000)
然后保存退出

然后在将MySQL服务启动:service mysqld start

3.无密码登陆MySQL:
直接输入mysql 即可进入MySQL。

4.修改密码:
Linux下MySQL忘记密码操作;本操作同样适用于错误: ERROR 1045 (28000)
修改密码命令:
update user set password=password("你的新密码") where user="root";

此处要注意的是,
如果修改命令之后出现
这个错误
那就是你的MySQL提示没有password这个字段,password字段改成了authentication_string
对应的命令就影是:update user set authentication_string=password("你的新密码") where user="root";
(我的就是这种i情况);

Linux下MySQL忘记密码操作;本操作同样适用于错误: ERROR 1045 (28000)

修改成功之后,退出MySQL:exit

5.将之前修改的配置文件中的无密码登陆命令删除
vi /etc/my.cnf
Linux下MySQL忘记密码操作;本操作同样适用于错误: ERROR 1045 (28000)

6.重启MySQL服务: service mysqld restart
7.登陆MySQL: mysql -uroot -p密码