You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS通过Homebrew安装MySQL5.7.22后执行mysql_secure_installation报错

解决MySQL 5.7.22运行mysql_secure_installation时的插件加载错误

这个错误其实挺反常的——因为caching_sha2_password是MySQL 8.0才引入的认证插件,你的5.7.22版本根本就没有这个文件,所以问题的核心肯定是系统里有版本冲突或者配置残留,导致命令错误地调用了8.0版本的逻辑。下面是一步步的解决办法:

1. 先确认当前使用的MySQL版本和路径

首先得搞清楚你调用的mysql和mysql_secure_installation是不是来自刚装的5.7.22:

# 查看mysql命令的路径
which mysql
# 查看版本
mysql --version
# 查看mysql_secure_installation的路径
which mysql_secure_installation

正常输出应该是/usr/local/Cellar/mysql/5.7.22/bin/下的文件,版本显示5.7.22。如果不是,说明你的环境变量里有旧版本(比如之前装过的8.0)的路径,优先被调用了。

2. 强制指定5.7版本的工具执行

如果发现路径不对,直接用完整路径运行mysql_secure_installation,绕开环境变量的干扰:

/usr/local/Cellar/mysql/5.7.22/bin/mysql_secure_installation

这一步大概率能直接解决问题,因为你明确指定了用5.7版本的工具,它不会去寻找只有8.0才有的插件。

3. 检查并修正MySQL配置文件

如果上面的方法还是不行,检查你的MySQL配置文件(通常是/usr/local/etc/my.cnf或者~/.my.cnf),确保没有错误的配置项:
打开配置文件,添加或修改以下内容:

[mysqld]
default_authentication_plugin=mysql_native_password

保存后重启MySQL服务:

brew services restart mysql

然后再重新运行mysql_secure_installation。

4. 彻底清理残留后重装(终极方案)

如果之前装过MySQL 8.0或者有残留文件,可能需要彻底清理后重新安装:

# 卸载当前的mysql
brew uninstall mysql
# 删除配置文件和数据目录
rm -rf /usr/local/etc/my.cnf
rm -rf ~/.mysql_history
rm -rf /usr/local/var/mysql
# 重新安装5.7.22版本
brew install mysql@5.7.22
# 强制链接到系统路径
brew link mysql@5.7.22 --force

安装完成后再运行mysql_secure_installation,应该就能正常执行了。


内容的提问来源于stack exchange,提问作者Faheem Hassan Zunjani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:26:25