操作背景
在Ubuntu 18.04下从apt源安装MySQL 5.7时会遇到数据库ROOT帐户无法登陆的情况。或者遇到了使用mysql_secure_installation修改密码但不会生效的情况。
错误本质
在此情况下安装的MySQL使用的认证插件对于ROOT用户来说默认是auth_socket而不是mysql_native_password,auth_socket貌似是只管人不管密码的。
解决办法
只需要将当前Linux用户切换到ROOT然后直接无密码登陆MySQL数据库然后再修改密码认证插件即可。