最近在學(xué)習(xí)django的時(shí)候需要用到數(shù)據(jù)庫,于是便下載了navicat準(zhǔn)備和mysql配套使用,但是在連接的時(shí)候確出現(xiàn)了如下問題:
網(wǎng)上查詢過后,發(fā)現(xiàn)這個(gè)錯(cuò)誤出現(xiàn)的原因是在mysql8之前的版本中加密規(guī)則為mysql_native_password,而在mysql8以后的加密規(guī)則為caching_sha2_password。
解決此問題有兩種方法,一種是更新navicat驅(qū)動來解決此問題,一種是將mysql用戶登錄的加密規(guī)則修改為mysql_native_password。;根據(jù)網(wǎng)上大部分建議采取了第二種方式:
1.用管理員權(quán)限打開cmd,輸入mysql -u root -p進(jìn)入輸入密碼后進(jìn)入mysql數(shù)據(jù)庫;
mysql -u root -p #進(jìn)入數(shù)據(jù)庫
2.修改加密規(guī)則及密碼,刷新即可;
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的mysql密碼' PASSWORD EXPIRE NEVER; #修改加密規(guī)則 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的mysql密碼'; #修改密碼 FLUSH PRIVILEGES; #刷新數(shù)據(jù)
-正常情況下繼續(xù)使用navicat連接mysql即可成功,但是,本人卻死在了第一步,無法進(jìn)入數(shù)據(jù)庫;
-不知道有沒有和我一樣的小伙伴遇到這種情況,但是不要慌,cmd不讓進(jìn),我們可以直接用mysql client登錄呀;
-輸入密碼,進(jìn)入mysql,輸入第二點(diǎn)中的命令即可解決。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。