今天使用Navicat連接mysql的時(shí)候報(bào)了2059的錯(cuò)誤,為了解決這個(gè)看似不難的問題,我也是試了不少方法,在這里給大家分享下我的經(jīng)驗(yàn)。(推薦教程:navicat圖文教程)
在用navicat連接MySQL8+時(shí)會(huì)出現(xiàn)2059錯(cuò)誤,這是由于新版本的MySQL使用的是caching_sha2_password驗(yàn)證方式,但此時(shí)的navicat還沒有支持這種驗(yàn)證方式。
解決方法就是將驗(yàn)證方式改為以前版本(5.7及以下)使用的驗(yàn)證方式mysql_native_password。
具體的驗(yàn)證方式可以查看默認(rèn)數(shù)據(jù)庫'mysql'中user表plugin字段。
在命令行中登錄數(shù)據(jù)庫時(shí)不會(huì)出現(xiàn)2059錯(cuò)誤,在命令行中登錄數(shù)據(jù)庫,執(zhí)行下面的命令。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
'root'可以改為你自己定義的用戶名,'localhost'指的是該用戶開放的IP,可以是'localhost'(僅本機(jī)訪問,相當(dāng)于127.0.0.1),可以是具體的'…'(具體某一IP),也可以時(shí)'%'(所有IP均可訪問)。'password'是你想使用的驗(yàn)證密碼。
友情提示:一定要牢記更改后的密碼,不然忘了會(huì)很麻煩。