在使用mysql數(shù)據(jù)庫(kù)時(shí),有時(shí)會(huì)遇到連接錯(cuò)誤2059的問(wèn)題。這個(gè)錯(cuò)誤通常是由于mysql服務(wù)器與客戶(hù)端之間的連接問(wèn)題引起的。
具體原因是在mysql 8版本之前,加密規(guī)則為mysql_native_password,而在mysql 8及以上版本中,加密規(guī)則改為caching_sha2_password。因此,在使用舊版本的客戶(hù)端連接新版本的mysql時(shí),就會(huì)出現(xiàn)2059錯(cuò)誤。
解決這個(gè)問(wèn)題的方法很簡(jiǎn)單。我們可以將mysql服務(wù)器的加密規(guī)則修改回mysql_native_password,以兼容舊版本的客戶(hù)端。
首先看到這個(gè)錯(cuò)誤也大概知道是編碼的問(wèn)題,出現(xiàn)的原因就是是因?yàn)?a href="http://www.wanjiajiazheng.cn/help/index.php/tag/mysql" title="mysqlflickr.photos.notes.edit target="_blank">mysql版本問(wèn)題,8.0及以上,需要修改規(guī)則解決
下面以Windows系統(tǒng)為例:
1.首先打開(kāi)命令提示符窗口(Win+R輸入cmd)
2.輸入以下命令登錄到mysql服務(wù)器:mysql -u root -p
3.輸入密碼進(jìn)行登錄
4.執(zhí)行以下命令修改加密規(guī)則: ALTER USER ‘用戶(hù)名’@’localhost’ ideNTifIED WITH mysql_native_password BY ‘密碼’;
5.將用戶(hù)名和密碼替換為你自己的mysql用戶(hù)名和密碼
6.重新連接mysql,問(wèn)題應(yīng)該就解決了
通過(guò)以上步驟,我們成功將mysql服務(wù)器的加密規(guī)則修改為mysql_native_password,從而解決了2059錯(cuò)誤。
今天新安裝的mysql8,然后用Navicat連接是報(bào)錯(cuò):2059百度了下然后發(fā)現(xiàn)原因是高版本的mysql更改了密碼驗(yàn)證機(jī)制,再次更改回去即可。Win+R打開(kāi)dos命令行窗口輸入以下命令即可:” ALTER USER ‘用戶(hù)名’@’localhost’ ideNTifIED WITH mysql_native_password BY ‘密碼’;
連接錯(cuò)誤2059通常是由于mysql服務(wù)器與客戶(hù)端之間的加密規(guī)則不兼容引起的。在使用舊版本的客戶(hù)端連接新版本的mysql時(shí),需要將服務(wù)器的加密規(guī)則修改為mysql_native_password。通過(guò)在命令提示符窗口執(zhí)行相應(yīng)命令,我們可以輕松解決這個(gè)問(wèn)題。
希望以上方法能幫助到遇到這個(gè)問(wèn)題的朋友們。