# MySQL--Authentication Plugin ‘caching_sha2_password’ Cannot be Loaded
caching_sha2_password插件時MySQL8中默認的插件,所有使用identified with選項創建的用戶,都使用該插件。
由於是內嵌的插件,本地client和server會正常工作。
但是遠程客戶端連接,就有可能遇到以下錯誤:
```
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
```
這個錯誤並不總是與mysql 客戶端的--plugin-dir有關。而通常是意味着你要升級mysql客戶端的庫文件了。
插件ching_sha2_password最初是在MySQL5.7中引入的。如果你仍然是使用5.6或更早的版本,你就會無法連接到MySQL。
MariaDB不支持caching_sha2_password插件,但是MariaDB Connector/C從3.2開始支持該插件。以單獨的庫文件形式提供,而不是內嵌的。所有使用MariaDB Connector/C的客戶端支持使用caching_sha2_password插件進行認證。
MariaDB libmysqlclient庫不支持caching_sha2_password插件。因此,如果你使用libmysqlclient庫客戶端連接庫,你將無法使用caching_sha2_password插件進行身份驗證。
使用不同API(例如 Python、PHP、Go、Java 和 ODBC)連接到MySQL的應用程序需要使用最新版本的連接器和數據庫驅動程序。MySQL和MariaDB連接器都支持caching_sha2_password插件。
這也適用於 Percona Toolkit。
## 結論
為了使用caching_sha2_password身份驗證插件
1.對於MySQL、Percona Server for MySQL、 Percona XtraDB Cluster,可以使用5.7或者更新的客戶端,不需要其它操作,因為是內嵌的。
2.對於MariaDB,使用MariaDB Connector/C 3.0.2或者更新的客戶端;如果你的客戶端找不到caching_sha2_password.so庫文件的位置,使用--pluggin-dir參數指定