现场还原:用root用户在Linux上安装mysql后,用Linux的root用户可以登录mysql,但普通用户无法登录,提示错误:ERROR 1698 (28000): Access denied for user 'root'@'localhost'
一、mysql用root登录mysql
选择以mysql命名的数据库,用以下命令查看user表:
select host,user,plugin from user;
结果如下:
+-----------+---------+-----------------------+
| host | user | plugin |
+-----------+---------+-----------------------+
| localhost | root | unix_socket |
+-----------+---------+-----------------------+
二、修改plugin属性为mysql_native_password
update user set authentication_string=PASSWORD('000000'), plugin='mysql_native_password' where user='root';
结果如下:
+-----------+---------+-----------------------+
| host | user | plugin |
+-----------+---------+-----------------------+
| localhost | root | mysql_native_password |
+-----------+---------+-----------------------+
三、重启mysql服务
service mysql stop
service mysql start