📌  相关文章
📜  MySQL 说:无法加载身份验证插件'caching_sha2_password':dlopen(usr local lib plugin caching_sha2_password.so, 2): image not found - SQL (1)

📅  最后修改于: 2023-12-03 15:17:48.437000             🧑  作者: Mango

MySQL 说:无法加载身份验证插件'caching_sha2_password':dlopen(usr local lib plugin caching_sha2_password.so, 2): image not found - SQL

简介

当您尝试连接到 MySQL 数据库时,如果出现以下错误消息:

无法加载身份验证插件 'caching_sha2_password':dlopen(usr local lib plugin caching_sha2_password.so,2): image not found

就说明您的 MySQL 服务器正在使用“caching_sha2_password”身份验证插件,但该插件在您的系统上未找到。

问题原因

原因是 MySQL 8.0 版本引入了一个名为“caching_sha2_password”的新的身份验证插件,该插件与旧版 MySQL 兼容性不佳,因此在部分系统上可能会出现无法加载该插件的情况。

解决方案

有两种解决方案可供选择:

方法一

将用户的身份验证插件更改为 MySQL 5.x 和 8.0.x 之间的兼容身份验证插件“mysql_native_password”。

步骤如下:

  1. 登录至 MySQL 服务器,并打开 MySQL 命令行。
  2. 输入以下命令更改用户的身份验证插件:
ALTER USER 'your_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

(请将“your_user”和“your_password”替换为您的用户名和密码)

方法二

安装缺少的身份验证插件。

步骤如下:

  1. 确认自己是 root 用户。
  2. 输入以下命令:
sudo apt-get install libmysqlclient-dev
  1. 然后,在 MySQL 命令行中输入以下命令:
INSTALL PLUGIN caching_sha2_password SONAME 'caching_sha2_password.so';
结论

无论您选择哪种方法来解决这个问题,都应该让您能够连接到您的 MySQL 服务器,而不会遇到“无法加载身份验证插件 'caching_sha2_password':dlopen(usr local lib plugin caching_sha2_password.so,2): image not found”这个错误消息。