Ubuntu下mysql-workbench连接mysql报“access denied for user root@localhost”

问题描述

  最近在看ASP.NET Core的教程,微软给的示例项目中需要连接数据库,因此根据网上的教程在Ubuntu20.04中安装了mysql,同时为了操作简单,也一并安装了mysql-workbench(直接在mysql-workbench网站下载的deb包手动安装的)。安装完成后,在Ubuntu的终端中可以登录mysql,但是使用mysql-workbench连接mysql时,会报“Your connection attempt failed for user ‘root’ from your host to server at localhost:3306: Access denied for user ‘root’@‘localhost’”的错误。

解决方案

  百度并尝试了很多方法,包括重启mysql和mysql-workbench、重装mysql和mysql-workbench、将mysql设置为无密码登录等,都没有解决问题。
  参考文献1建议修改mysql的默认密码,于是在Ubuntu终端中登录mysql,输入下面的命令后报下面截图的错误:
  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

在这里插入图片描述
  接着百度错误“mysql ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@‘localhost’“,找到了参考文献2.根据参考文献2中的说明,有可能是上面sql语句中的用户名错了。
  在mysql命令行中输入“select user,host from user;”,查看mysql的用户信息(截图如下所示),root用户对应的host是%。:

在这里插入图片描述
  接着根据参考文献2中的提示将上述sql语句中的root@localhost修改为root@%,接着执行修改root密码语句,语句执行成功。
在这里插入图片描述
  启动mysql-workbench,输入修改后的密码即可正常访问本地mysql
在这里插入图片描述
在这里插入图片描述

参考文献
[1]https://blog.csdn.net/leejeff/article/details/85808092
[2]https://blog.csdn.net/q258523454/article/details/84555847

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值