在使用mysql數據庫時,有時會遇到連接錯誤2059的問題。這個錯誤通常是由于mysql服務器與客戶端之間的連接問題引起的。
具體原因是在mysql 8版本之前,加密規則為mysql_native_password,而在mysql 8及以上版本中,加密規則改為caching_sha2_password。因此,在使用舊版本的客戶端連接新版本的mysql時,就會出現2059錯誤。
解決這個問題的方法很簡單。我們可以將mysql服務器的加密規則修改回mysql_native_password,以兼容舊版本的客戶端。
首先看到這個錯誤也大概知道是編碼的問題,出現的原因就是是因為mysql版本問題,8.0及以上,需要修改規則解決
下面以Windows系統為例:
1.首先打開命令提示符窗口(Win+R輸入cmd)
2.輸入以下命令登錄到mysql服務器:mysql -u root -p
3.輸入密碼進行登錄
4.執行以下命令修改加密規則: ALTER USER ‘用戶名’@’localhost’ ideNTifIED WITH mysql_native_password BY ‘密碼’;
5.將用戶名和密碼替換為你自己的mysql用戶名和密碼
6.重新連接mysql,問題應該就解決了
通過以上步驟,我們成功將mysql服務器的加密規則修改為mysql_native_password,從而解決了2059錯誤。
今天新安裝的mysql8,然后用Navicat連接是報錯:2059百度了下然后發現原因是高版本的mysql更改了密碼驗證機制,再次更改回去即可。Win+R打開dos命令行窗口輸入以下命令即可:” ALTER USER ‘用戶名’@’localhost’ ideNTifIED WITH mysql_native_password BY ‘密碼’;
連接錯誤2059通常是由于mysql服務器與客戶端之間的加密規則不兼容引起的。在使用舊版本的客戶端連接新版本的mysql時,需要將服務器的加密規則修改為mysql_native_password。通過在命令提示符窗口執行相應命令,我們可以輕松解決這個問題。
希望以上方法能幫助到遇到這個問題的朋友們。