个人技术分享

ubuntu20安装mysql5.7后,在root用户下直接运行mysql就能进入数据库。在其它用户下却无法登录,提示以下错误:
Access denied for user ‘root’@'localhost’

原因是root用户默认使用socket认证:

mysql> select user,plugin from user;

root    auth_socket

改为mysql_native_password即可:
update user se tplugin='mysql_native_password where user=‘root’;`

然后为root用户设置新密码:
alter user 'root'@'localhost' identified by 'newpassword';

刷新权限:
flush privileges;