Linux MySQL客戶端的error 2059

2021-10-03 04:41:18 字數 1800 閱讀 3473

在 vmware 虛擬機器的客戶機 centos7 裡面安裝執行有 docker 的 mysql 8.0,由於當前 centos7 預設的 mysql 客戶端版本太低(5.5.60)(低版本的客戶端認 mysql_native_password 認證外掛程式,而高版本認 caching_sha2_password 外掛程式) ,導致連線伺服器時出現以下的錯誤:

error 2059: 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,或者進入該 docker 容器,登入 mysql 伺服器。

執行 mysql shell 命令檢視伺服器的版本:

> select version();

執行結果:

| version() |

| 8.0.16    |

1 row in set (0.00 sec)

檢視當前預設的密碼認證外掛程式:

> show variables like 'default_authentication_plugin';

| variable_name                 | value                 |

| default_authentication_plugin | caching_sha2_password |

1 row in set (0.01 sec)

檢視當前所有使用者繫結的認證外掛程式:

> select host,user,plugin from mysql.user;

| host      | user             | plugin                |

| %         | root             | caching_sha2_password |

| localhost | healthchecker    | caching_sha2_password |

| localhost | mysql.infoschema | caching_sha2_password |

| localhost | mysql.session    | caching_sha2_password |

| localhost | mysql.sys        | caching_sha2_password |

5 rows in set (0.00 sec)

假如想更改 root 使用者的認證方式

# 修改加密規則

> alter user 'root'@'%' identified by 'root' password expire never;

# 更新使用者密碼

> alter user 'root'@'%' identified with mysql_native_password by '123456';

# 賦予 root 使用者最高許可權

> grant all privileges on *.* to root@'%' with grant option;

# 重新整理許可權

> flush privileges;

完成解決方案。

注意:在這之後,將不再支援以下的許可權授予語句:

grant all privileges on *.* to root@'%' identified by '123456' with grant option;

瘦客戶端 胖客戶端 智慧型客戶端

胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...

胖客戶端 瘦客戶端和富客戶端

以c s結構開發的網路應用程式,需要為客戶端開發專用的客戶端軟體,相對而言其客戶端比較龐大,在客戶端可以實現很多功能,分擔伺服器的負擔,屬於胖客戶端型別。以b s結構開發的web應用,其客戶端只是乙個瀏覽器,所有業務邏輯由伺服器端進行處理,相對而言客戶端比較瘦小,故稱為瘦客戶端。目前比較流行的一種開...

非同步客戶端和同步客戶端

先寫下我的理解,方便後邊閱讀資料校驗。一 同步客戶端 比如乙個連線有兩個請求,請求1 和 請求2,請求1 先發起請求,請求2後發起請求,則請求2 要等待請求1 響應完成才能接收到響應。舉個棗子,httpclient 傳送get請求,執行緒會一致阻塞,直到有響應結果。二 非同步客戶端 比如乙個連線有兩...