MySQL:ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

文章讲述了在新安装MySQL后遇到登录失败的问题,原因是没有设置初始密码。解决方法包括查看默认密码,使用`debian-sys-maint`账户登录,修改`root`用户的插件设置和密码,最后重启服务并使用新密码登录。
摘要由CSDN通过智能技术生成

问题描述

出现场景:这个问题一般出现在刚刚安装完MySQL的时候
出现原因:由于使用命令sudo apt-get install mysql安装时,并没有提示输入密码,则密码没有初始化,使用root用户登录自然失败.
具体情况:
在这里插入图片描述

mysql -u root -p
Enter password: 
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

解决方法

思路:既然密码没有初始化,那么直接使用默认密码登录就可以了。
步骤如下:
1.使用cat命令查看默认用户名密码。

sudo cat /etc/mysql/debian.cnf

展示出来的内容:
在这里插入图片描述
2.使用默认用户名密码登录

mysql -udebian-sys-maint -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
……
mysql>

登录成功。
3.修改PLUGIN设置(出现这个问题的原因就在这)
注意,这里是在MySQL登录进去以后,在MySQL命令提示符后面执行如下命令:

mysql> UPDATE mysql.user SET authentication_string=PASSWORD('111111'), PLUGIN='mysql_native_password' WHERE USER='root';

设置完成。
4.重启服务

/etc/init.d/mysql stop
/etc/init.d/mysql start

5.登录
使用新的密码111111登录数据库:

mysql -u root -p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值