![错误 1698(28000):Ubuntu 18.04 上用户“root”@“localhost”的访问被拒绝](https://linux22.com/image/900089/%E9%94%99%E8%AF%AF%201698%EF%BC%8828000%EF%BC%89%EF%BC%9AUbuntu%2018.04%20%E4%B8%8A%E7%94%A8%E6%88%B7%E2%80%9Croot%E2%80%9D%40%E2%80%9Clocalhost%E2%80%9D%E7%9A%84%E8%AE%BF%E9%97%AE%E8%A2%AB%E6%8B%92%E7%BB%9D.png)
我已经关注了教程安装 MySQL,但是成功安装 MySQL 后,我无法访问数据库。
错误 1698 (28000):拒绝用户“root”@“localhost”访问
答案1
我在这里找到了解决方案关联,通过遵循这个解决方案,我解决了我的问题。
简要步骤如下:
sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
注意:这test
是 root 用户的新密码。另外,请记住sudo service mysql restart
在更改用户后运行该命令。
答案2
我找到了另一种更好的方法,因为我们不需要为本地系统提供任何密码。
如下所示。
打开终端并输入
sudo mysql -u root -p
它将在 mysql 中提示您,在这里您可以执行任何 mysql 命令。
使用 mysql 表来更改表类型,因此我们可以使用空密码。 下面是它的命令
USE mysql;
现在我们通过以下命令更改表类型
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
现在我们必须刷新权限,因为我们已经使用了 UPDATE。如果您在授权表您需要直接使用 FLUSH PRIVILEGES 来重新加载授权表。
FLUSH PRIVILEGES;
现在通过以下命令退出 mysql
exit;
现在通过以下命令重新启动 mysql 服务器
service mysql restart
希望这能有所帮助
谢谢。