#1698 - 用户 'root'@'localhost' mysql -5.7 和 ubuntu-16.04 的访问被拒绝

pra*_*ala 5 mysql apache2 phpmyadmin

登录 phpmyadmin 时出现以下错误。

它不是全新安装。

我也试过通过命令行登录。

1.

mysql -u root -p

 **error :** ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud)

2.

sudo mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

我使用上述命令成功登录到 mysql。

但不是案例 1。

Mysql details:
username : root 
password : 
Run Code Online (Sandbox Code Playgroud)

pra*_*ala 6

我通过在用户表中设置插件值解决了上述问题

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart
Run Code Online (Sandbox Code Playgroud)


小智 6

这是因为 MySQL 默认使用本地系统帐户以 root 用户身份登录。这是通过插件“unix_socket”完成的,或者密码可能已被更改。

要允许 MySQL 用户 root 登录到 PhpMyAdmin,请在 MySQL 命令提示符下运行以下命令

use mysql;
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
exit;
Run Code Online (Sandbox Code Playgroud)

PHPMyAdmin