ERROR 1045 (28000)
描述:
summerice@summerice-ubuntu:~$ mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
解决:
1.打开配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
2.在文件中添加代码
# 免密登录权限
skip-grant-tables
3.重启mysql服务
service mysql restart
4.进入mysql交互模式
mysql -u root -p
直接回车就行
5.重置密码
mysql> use mysql;
mysql> flush privileges;
mysql> UPDATE user SET authentication_string="" WHERE user="root"; //先把root密码置为空
mysql> flush privileges; //刷新权限
mysql> ALTER user 'root'@'localhost' IDENTIFIED BY 'summerice'; //再重置密码
如果需要远程连接的话:
mysql> update user set plugin=“mysql_native_password” where user ="root";
可以看到root的plugin已经被修改成功:
mysql> select user,plugin from user;
+------------------+-----------------------+
| user | plugin |
+------------------+-----------------------+
| rjw | mysql_native_password |
| debian-sys-maint | mysql_native_password |
| mysql.infoschema | mysql_native_password |
| mysql.session | mysql_native_password |
| mysql.sys | mysql_native_password |
| rjw | mysql_native_password |
| root | mysql_native_password |
+------------------+-----------------------+
7 rows in set (0.01 sec)
6.quit退出交互模式
7.去掉之前在配置文件中添加的免密登录权限
8.重启mysql服务
9.OK,可以成功使用mysql交互模式了!
这篇博客详细介绍了当遇到MySQL root用户无法登录时,如何通过修改配置文件、重启服务以及更新用户密码的步骤来解决问题。具体包括:编辑mysql.conf.d/mysqld.cnf文件添加免密登录权限,重启MySQL服务,进入交互模式后重置root密码,并可选地设置远程连接权限。最后,别忘了移除免密登录设置并再次重启服务。
3万+

被折叠的 条评论
为什么被折叠?



