eroor 1698(28000):Access denied for user 'root' ; eroor 1045(28000):Access denied for user 'root'

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaohaibo_/article/details/83822584
问题解决:使用mysql -u root -p登陆mysql时报错
eroor 1698(28000):Access  denied for user 'root'
分析

安装mysql时没有设置密码,这个问题与ERROR 1045 (28000)的解决方案一致

解决1,不彻底方案

使用sudo mysql登陆mysql

解决2,彻底方案:

1.sudo vim /etc/mysql/debian.cnf,这个文件里有MySQL默认的用户名和用户密码,

在这里插入图片描述

发现默认的用户名是debian-sys-maint,password后是默认密码

2.使用默认的用户名与密码登陆sql : mysql -u debian-sys-maint -p,发现可以登陆在这里插入图片描述

3.修改密码:

mysql> update mysql.user set authentication_string=password('password') where user='root'and Host = 'localhost';
mysql>flush privileges;

在这里插入图片描述

显示Query OK,即更改成功。

4.重启mysql服务即可

sudo service mysql restart

else:

再次使用root和新密码登陆,如果出现MySQL ERROR 1698 (28000) 错误

1.使用sudo mysql登陆;或停止mysql服务后,使用sudo mysqld_safe --skip-grant-tables &以安全模式登陆。

2.输入下面指令:newPwd为你的密码

mysql> update mysql.user set authentication_string=PASSWORD('newPwd'),plugin='mysql_native_password' where user='root';

在这里插入图片描述

重启mysql服务 ,问题可以解决

在这里插入图片描述

参考

https://stackoverflow.com/questions/39597682/mysql-error-1698-28000-access-denied-for-user-rootlocalhost

https://blog.csdn.net/tyt_xiaotao/article/details/80664740

https://www.cnblogs.com/leolztang/p/5094930.html

猜你喜欢

转载自blog.csdn.net/zhaohaibo_/article/details/83822584
今日推荐