1. 程式人生 > 其它 >Authentication Plugin 'caching_sha2_password' Cannot be Loaded

Authentication Plugin 'caching_sha2_password' Cannot be Loaded

# 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引數指定