ERROR 1698(28000):Ubuntu 18.04上的用户’root’@’localhost’访问被拒绝

我已按照本教程安装MySQL但在成功安装MySQL后,我无法访问数据库。

ERROR 1698(28000):用户’root’@’localhost’拒绝访问

我在这里找到了一个解决方案链接 ,按照这个解决方案,我解决了我的问题。

简短的步骤是:

sudo mysql -u root ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test'; 

注意:此处test是root用户的新密码。 另外,请记住在更改用户后运行命令sudo service mysql restart

我找到了另一种更好的方法,因为我们不需要为本地系统提供任何密码。
如下。

打开终端并输入

 sudo mysql -u root -p 

它会在mysql中提示你,在这里你可以解雇任何mysql命令。

使用mysql表来更改表类型,这样我们就可以使用空密码了。 贝娄是命令

 USE mysql; 

现在我们通过以下命令更改表的类型

 UPDATE user SET plugin='mysql_native_password' WHERE User='root'; 

现在我们必须刷新权限,因为我们使用了UPDATE。 如果直接在授权表上使用INSERT,UPDATE或DELETE,则需要使用FLUSH PRIVILEGES来重新加载授权表。

 FLUSH PRIVILEGES; 

现在通过以下命令退出mysql

 exit; 

现在按照以下命令重启mysql服务器

 service mysql restart 

希望这可能有所帮助

谢谢。