ubuntu mysql access denied_Ubuntu下连接mysql出现 ERROR 1698 (28000): Access denied for user 'root'@'local...

ubuntu版本:18.04    mysql版本:5.7.24

20181029114545535229.png

ubuntu安装mysql后用root账户登入会出现问题:ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘

可能是因为初始密码为空;按空格回车后还是报一样的错

这样就只能使用debian-sys-maint账户修改root账户密码了。

debian-sys-maint账户是安装mysql时系统自动生成的mysql用户,debian和ubuntu系统都会这样做,

停止或重启服务都靠它,删除它就无法重启或者雷霆之服务。

如果你修改了它的密码或覆盖掉密码,也会出现错误:

error: ‘Access denied for user ‘debian-sys-maint‘@‘localhost‘ (using password: YES)‘

1  查看debian-sys-maint账户密码:

debian-sys-maint账户是安装mysql时系统自动生成的,密码随机生成。

终端输入: sudo vim /etc/mysql/debian.cnf

20181029114546105564.png

password就是密码,如果是复制密码由后面使用,切忌不要将密码字符串后面的空格也复制进去,否者后面粘贴密码登入账户时会出现错误。

2 用刚才查看的密码登入debian-sys-maint账户:

终端输入指令:mysql -u debian-sys-maint -p ,然后输入刚才查看的debian-sys-maint账户密码。 注意-u可以和debian-sysy连在一起,-p不能。u表示用户名,p表示密码。

3 进入mysql后重新设置root账号密码:

sql指令:

use mysql   (一定要写上这条语句,很多网上的解决方案缺少这条语句,导致后一条语句出现no database selected错误,这是因为有选择新创建的表所在的数据库)

UPDATE user SET authentication_string=PASSWORD(‘你的密码‘) where USER=‘root‘;

5.7之前的版本用:

update user set password=PASSWORD("你的密码") where User = ‘root‘;

指令的大小写都行,注意语句后面分号。

20181029114546255960.png

退出mysql(sql指令:quit)并重启mysql(终端指令:sudo service mysql restart)

这时候用root账户和修改后的密码登入时(终端指令:mysql -uroot -p)会发现还是报错!这时候其实密码是修改成功的,但是plugin root 的字段是auth_socket,需要修改过来。

4 修改plugin root

查看plugin root

用debian-sys-maint账户和密码登入mysql,然后输入sql语句:

use mysql

select user,plugin from  user;

20181029114546548940.png

修改plugin root

update user set authentication_string =password(‘你的密码‘),plugin=‘msyql_native_password‘ where user=‘root‘;

20181029114546695430.png

然后推出并重启mysql,再用root账户登入就可以了。

20181029114546865359.png

总结:

1 这篇文章是遇到这个问题后查找网上资料整合而成的,网上关于这个问题的资料很多但是也有很多不足:比如指令不够详细,尤其是很多资料缺少使用mysql时需要use mysql这个指令的提示,这对小白用户不太友好。再一个,大部分相关文章缺少修改plugin root的部分,所以我折腾了很多遍修改密码但还是不成功。

2 很多时候问题的原因只是一个很小的错误,比如少一个分号,空格,复制密码吧后面的换行符也复制进去了等,所以,尽量减少操作失误。

3 遇到问题多分析反馈的错误原因

4 网上的资料很多,但终究是别人的,不一定能解决自己的问题(但可以提供解决问题思路),遇到问题多查找相关资料,找解决办法,这个过程可能很花费时间很烦人,但是也能拓展不少知识,最后总结理解就能成为自己的东西。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值