对于我之前的博客在这个话题上,我收到了很多关于为什么我没有报道的问题caching_sha2_password插件。自MySQL 8以来,这个插件是默认的,所有创建的用户帐户都没有这个选项确认与,将使用此插件。本地一切工作正常,因为插件是内置到MySQL服务器和客户端。
如果您从远程计算机连接这样的用户帐户,您可能会得到类似于以下错误:
|
1
|
错误2059(HY000):身份验证插件
“caching_sha2_password”
不能是加载:/ usr/lib64/mysql/插件/caching_sha2_password.so:不能
开放
共享对象
文件:
没有
这样的
文件
或
目录
|
不像另一种情况博客,这种错误的原因并不总是正确的--插件-dir选项mysql客户端。通常情况下,这意味着您没有升级MySQL客户端库。
插件caching_sha2_password在MySQL 5.7中首次引入。如果你仍然使用MySQL 5.6或更早的版本,你将不能使用这个插件连接到MySQL。
一些操作系统有MariaDB包来代替MySQL。
MariaDB服务器不支持caching_sha2_password插件。但MariaDB连接器/ C从3.0.2版本开始支持此插件。该插件不是内置的,而是作为一个单独的库提供的。所有使用MariaDB Connector/C的客户端都支持使用caching_sha2_password插件。这包括mysql和mariadb命令行客户端。
MariaDBlibmysqlclient图书馆是不支持caching_sha2_password插件。因此,如果使用链接到此库的客户端,则无法使用caching_sha2_password插件。
使用不同api(如Python、PHP、Go、Java和ODBC)连接到MySQL的应用程序需要使用最新版本的连接器和数据库驱动程序。MySQL和MariaDB连接器都支持caching_sha2_password插件。
这也适用于Percona Toolkit。雷竞技下载官网
结论
为了使用caching_sha2_password身份验证插件:
- 对于MySQL,raybetapp
,雷竞技下载官网Percona XtraDB集群
- 使用5.7或更新版本的客户端
- 不需要其他操作:支持是内置的
- 对于MariaDB
- 使用客户端,与MariaDB Connector/C 3.0.2或更新版本链接
- 指定的选项--插件-dir如果你的客户找不到caching_sha2_password所以库的默认位置






