Ubuntu 22.04执行sudo mysql_secure_installation时密码设置循环问题
解决Ubuntu 22.04下MySQL安全配置的密码循环问题
这个问题的核心是Ubuntu 22.04默认安装的MySQL中,root用户采用auth_socket认证方式——该方式依赖系统用户的sudo权限登录,不会在MySQL服务器中存储密码,导致mysql_secure_installation里的SET PASSWORD命令失效,进而陷入循环。
解决步骤如下:
- 终止当前卡住的
mysql_secure_installation进程,回到终端。 - 直接通过sudo登录MySQL:
sudo mysql - 切换到mysql系统数据库:
USE mysql; - 查看
root用户的认证方式(确认是auth_socket):SELECT user, authentication_string, plugin FROM user WHERE user = 'root'; - 修改
root用户的认证方式为mysql_native_password,同时设置符合STRONG级要求的密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的高强度密码'; - 刷新权限使修改生效:
FLUSH PRIVILEGES; - 退出MySQL:
EXIT; - 重新执行安全配置命令:
sudo mysql_secure_installation
此时就能正常完成密码设置和后续安全配置,不会再陷入循环。
内容的提问来源于stack exchange,提问作者Dexter
相关产品推荐
相关产品推荐

