deepin 安装mysql 及其密码找回(ERROR 1698 (28000): Access denied for user 'root'@'localhost')

首先安装服务端和客户端

安装服务端:sudo apt-get install mysql-server
安装客户端:sudo apt-get install mysql-client

然后麻烦来了(找不到密码然后报1698错误)

mysql -uroot -p

在这里插入图片描述

解决:切换到超级管理员

查看一下user表,错误的起因就是在这里, root的plugin被修改成了auth_socket,用密码登陆的plugin应该是mysql_native_password。

sudo su
mysql -uroot -p
mysql> select user, plugin from mysql.user;

±----------±----------------------+
| user | plugin |
±----------±----------------------+
| root | auth_socket |
| mysql.sys | mysql_native_password |
| dev | mysql_native_password |
±----------±----------------------+
3 rows in set (0.01 sec)

重置密码 和 plugin

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

flush privileges;

退出,切换到普通用户测试

mysql> exit
Bye
root@user-PC:/home/user# su user
user@user-PC:~$ mysql -uroot -p

你可能感兴趣的:(MySQL,linux)