MySQL 8.0+ 默认使用 caching_sha2_password 插件进行密码加密

MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 0x0002): tried: '/usr/local/lib/plugin/caching_sha2_password.so' (no such file)

这个错误 Authentication plugin 'caching_sha2_password' cannot be loaded 通常发生在 客户端(本地电脑)的 MySQL 版本过旧,无法识别服务器端(阿里云)默认的加密方式时。
原因分析:

服务器端:MySQL 8.0+ 默认使用 caching_sha2_password 插件进行密码加密(更安全)。

客户端:您本地使用的连接工具(如旧版 Navicat、旧版 MySQL 命令行、或某些编程语言驱动)版本较老,找不到或不懂这个插件,导致连接失败。

MAC远程 链接阿里云自建的MySQL8 的方式

在 macOS 上远程连接阿里云自建的 MySQL 8.0,最顺畅的方式是使用图形化数据库管理工具。鉴于您之前遇到的 caching_sha2_password 报错,我将为您提供最佳工具推荐以及关键配置步骤(特别是如何解决认证插件问题)。

🛠️ 第一步:选择并安装客户端工具 (Mac)

推荐以下三款工具(任选其一):

Sequel Ace (🌟 首选推荐)

特点:免费、开源、原生 Mac 应用、轻量快速。是著名的 Sequel Pro 的继任者,完美支持 MySQL 8。

下载:直接在 Mac App Store 搜索 "Sequel Ace" 安装。

TablePlus

特点:界面现代、启动极快、支持多种数据库。免费版有标签页数量限制,但日常够用。

下载:官网 (tableplus.com) 或 Homebrew (brew install --cask tableplus)。

DBeaver Community

特点:功能极其强大,基于 Java,跨平台。如果前两个不行,它是万能备选。

下载:官网 (dbeaver.io) 或 Homebrew (brew install --cask dbeaver-community)。

避坑提示:尽量避免使用老旧版本的 Navicat (11 或 12.0 以前),它们最容易报 caching_sha2_password 错误。如果您必须用 Navicat,请确保版本是 12.1 或 15/16+。

🔧 第二步:解决核心兼容性问题 (关键)

即使安装了新工具,为了确保持续稳定连接,强烈建议您在阿里云服务器上执行一次"降级"操作,将用户认证方式改为兼容性最好的 mysql_native_password。

请在阿里云服务器终端执行:

登录 MySQL

mysql -u root -p

执行 SQL (替换您的密码)

注意:'%' 代表允许任意 IP,如果您之前限制了特定 IP,请把 '%' 换成那个 IP

ALTER USER 'video_user'@'%' IDENTIFIED WITH mysql_native_password BY '您的强密码';

刷新

FLUSH PRIVILEGES;

EXIT;

执行完这一步,99% 的连接报错都会消失。

💻 第三步:在 Mac 上配置连接

以 Sequel Ace 为例(其他工具逻辑相同):

打开 Sequel Ace。

点击左下角的 + (加号) 添加新连接。

填写以下信息:

Name: 随意填 (例如: Aliyun-WVP)

Host: 阿里云服务器的 公网 IP (例如 47.100.100.100)

Username: video_user

Password: 您设置的密码

Database: (可选) 填具体的库名,或者留空进入后选择

Port: 3306

Socket: 留空 (远程连接不需要)

点击 Test Connection (测试连接)。

如果显示 Connected ✅,点击 Save 即可开始使用。

如果失败,请看下方的排查指南。

🚨 第四步:连接失败排查清单

如果测试连接失败,请按顺序检查这三点(90% 的问题出在这里):

阿里云安全组 (最常见)

登录阿里云控制台 -> ECS -> 安全组 -> 入方向。

确认是否有规则:端口 3306,协议 TCP,授权对象 0.0.0.0/0 (或者您本地的具体公网 IP)。注意:如果您在家宽带动态 IP,建议先填 0.0.0.0/0 测试通不通,通了再考虑限制 IP。

服务器内部防火墙

在阿里云服务器终端执行:

CentOS/Alibaba Cloud Linux

sudo firewall-cmd --list-all | grep 3306

如果没有输出,说明没开,需要开启:

sudo firewall-cmd --permanent --add-port=3306/tcp

sudo firewall-cmd --reload

Ubuntu

sudo ufw status

如果状态是 active,确保允许了 3306

sudo ufw allow 3306/tcp

MySQL 监听地址

确认 MySQL 正在监听 0.0.0.0 而不是 127.0.0.1。

在服务器执行:

netstat -tunlp | grep 3306

✅ 正确显示:0.0.0.0:3306 或 :::3306

❌ 错误显示:127.0.0.1:3306 (如果是这个,请回去修改 /etc/my.cnf 中的 bind-address = 0.0.0.0 并重启 MySQL)。

🚀 进阶:使用命令行 (Terminal) 连接

如果您喜欢用 Mac 自带的终端,可以先安装 MySQL 客户端:

安装客户端 (需要安装 Homebrew):

brew install mysql

连接命令:

mysql -h -P 3306 -u video_user -p

(输入后回车,会提示您输入密码)

💡 安全小贴士

由于您将数据库端口暴露在公网:

密码务必复杂:大小写 + 数字 + 特殊符号,长度 12 位以上。

限制源 IP:如果您的本地公网 IP 相对固定,建议在阿里云安全组中,将 0.0.0.0/0 修改为您具体的 IP 地址(例如 123.45.67.89/32),这是防止暴力破解的最有效手段。

相关推荐
风哥2号4 小时前
数据库教程FGMT27‑MySQL数据库基础知识与体系架构
数据库·mysql
YangYang9YangYan5 小时前
2026 校招商品分析岗位 JD 拆解,核心指标、工具与面试考点
大数据·数据库·数据分析
西安栈上月明软件科技6 小时前
从业务黑话到本体图谱:OAG本体建模五步法(西安老系统AI化改造实战)
数据库·人工智能·架构
anxiao_m6 小时前
跨云跨机房大数据迁移怎么选?不同场景工具适配指南
数据库·云启快传
风哥2号8 小时前
数据库教程FGMT43‑MySQL性能分析与优化调整
数据库·mysql
随身数智备忘录9 小时前
财务数据分析如何与业务场景结合?财务数据分析如何从数出有据到数出有用?
数据库
这个DBA有点耶10 小时前
数据库教程:从零基础到实战的完整学习路径(2026版)
数据库·程序员·代码规范
forestsea10 小时前
从零构建 Java 智能体 RAG 系统:Milvus 向量数据库实战指南
java·数据库·milvus
默 语11 小时前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
probex_11 小时前
从 ByConity 到 VictoriaMetrics:一次指标数据迁移引发的四种存储对比
数据库