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