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
希望这可能有所帮助
谢谢。