(ubuntu 18.04)ERROR : Access denied for user 'root'@'localhost' 及 安装 mysql 8.0 + workbench

安装 mysql

一开始直接用的命令

sudo apt-get install mysql-server

然后就入坑了,用 mysqlworkbench 怎么都连接不上数据库.

  • 首先用命令下载发行包
   wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
  • 然后安装
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
  • 对中间的有一个弹窗,第一个选成 8.0,然后到最后选择 ok
  • 提示设置密码(也有可能没有)
  • 有一个加密方式,选第二个
    在这里插入图片描述
  • 使用以下命令从MySQL APT存储库更新包信息(此步骤是必需的):
sudo apt-get update
  • 查看安装成功
mysql -u root -p
  • 显示版本没问题就ok了
然后就是我遇到的问题:

问题一,普通用户不能进mysql:

~$ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’

问题二,su root ,直接用root权限登录就不用密码:

~&su root
~$ mysql
Success!
解决步骤:

停止mysql服务

~$ sudo service mysql stop

以安全模式启动MySQL

~$ sudo mysqld_safe --skip-grant-tables &

MySQL启动之后就可以不用密码登陆了

~$ mysql -u root

然后在 mysql 里面查看用户表

mysql> select user, plugin from mysql.user;

错误原因是因为 plugin root 的字段是auth_socket 改掉就行,同时更改密码:

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

似乎 mysql8.0的更改密码方式变了,可以这样试试:

ALTER user 'root'@'localhost' IDENTIFIED BY 'newpassward' ;

安装 mysql workbench

sudo apt-get install mysql-workbench

然后就可以打开并连接上

Ubuntu 18.04.4 LTS彻底删除MySQL数据库

dpkg --list|grep mysql //首先在终端中查看MySQL的依赖项

卸载

sudo apt-get remove mysql-common
sudo apt-get autoremove --purge mysql-server-5.7

清除残留数据:dpkg -l|grep ^rc|awk ‘{print$2}’|sudo xargs dpkg -P

再次查看MySQL的剩余依赖项:dpkg --list|grep mysql

继续删除剩余依赖项,如:sudo apt-get autoremove --purge mysql-apt-config

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值