最近在使用mysql時(shí),遇到了一個(gè)2059錯(cuò)誤,這個(gè)錯(cuò)誤代表著與服務(wù)器的協(xié)議不兼容。 出現(xiàn)這個(gè)錯(cuò)誤的原因可能是由于mysql驅(qū)動(dòng)版本與mysql服務(wù)器版本不匹配。
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/local/mysql/lib/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
如果您在連接數(shù)據(jù)庫(kù)時(shí)遇到了這個(gè)錯(cuò)誤,那么您可以嘗試使用更高版本的mysql驅(qū)動(dòng),或者升級(jí)mysql服務(wù)器版本來解決這個(gè)問題。
還有一種可能的原因是mysql數(shù)據(jù)庫(kù)的加密方式改變了,從mysql 8.0開始,它的默認(rèn)加密方式變成了caching_sha2_password。如果您的mysql服務(wù)器版本是8.0及以上,則需要將jdbc連接URL中的加密方式更改為caching_sha2_password。
jdbc:mysql://hostname:port/database?user=user_name&password=****&useSSL=false&authPlugin=caching_sha2_password
如果您使用的是較早的mysql服務(wù)器版本,則不需要設(shè)置這個(gè)參數(shù)。
總之,錯(cuò)誤2059代表與服務(wù)器的協(xié)議不兼容,這個(gè)問題一般可以通過升級(jí)驅(qū)動(dòng)或服務(wù)器版本來解決,或者根據(jù)需要更改加密方式。