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

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

登录 phpmyadmin 时出现以下错误。

这不是一个全新安装。

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

1.

mysql -u root -p

 **error :** ERROR 1698 (28000): Access denied for user 'root'@'localhost'

2.

sudo mysql -u root -p

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

但情况 1 并非如此。

Mysql details:
username : root 
password : 

答案1

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

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

$ service mysql restart

答案2

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

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

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

PhpMyAdmin

答案3

步骤1。sudo mysql -u root -p

第2步。USE mysql;

步骤3.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';

这里‘ admin’是您的新密码,您可以更改它。

步骤4.exit 谢谢。您已完成。

相关内容