Linux--MySQL:ERROR 1698 (28000): Access denied for user 'root'@'localhost'

在deepin系统中安装完MySQL后运行发现报ERROR 1698 (28000): Access denied for user 'root'@'localhost'的提示

而用sudo mysql -u root -p 就可以正常登录,原因百度后好多帖子说是因为安装后没有设密码导致的,然后我按帖子说的设了密码,确实是可以免sudo登录MySQL了。

步骤:

1.先用sudo mysql -u root -p登录MySQL

2.查看数据库

Linux--MySQL:ERROR 1698 (28000): Access denied for user 'root'@'localhost'_第1张图片

3.可以用use mysql切换到mysql这个数据库中,执行查看用户信息,也可以直接输入select user,plugin from mysql.user;查看用户信息

Linux--MySQL:ERROR 1698 (28000): Access denied for user 'root'@'localhost'_第2张图片

4.输入update mysql.user set authentication_string=PASSWORD('××××'),plugin='mysql_native_password' where user='root';设置密码

5.输入flush privileges;刷新数据库

6.然后退出MySQL(输入\q、exit;、quit;都可以退出),然后重启MySQL,然后就可以直接输入mysql登录了

Linux--MySQL:ERROR 1698 (28000): Access denied for user 'root'@'localhost'_第3张图片

 

 

你可能感兴趣的:(linux)