# 問題由來
在今天安裝了MySQL之后,像往常一樣,打開Navicat打算連接數(shù)據(jù)庫,卻意外報(bào)錯(cuò)
報(bào)錯(cuò)信息
啊啊啊啊,怎么就老是報(bào)錯(cuò)啊,很煩,
然后我就又開始了趴百度,
找到了解決方案.下面來分享一下
# 問題原因
原因是在mysql8之前的版本中加密規(guī)則為mysql_native_password.
而mysql8之后的加密規(guī)則為caching_sha2_password.
# 問題結(jié)局
解決此問題有兩種方法:
一種是更新navicat驅(qū)動(dòng)來解決此問題尝盼,
一種是將mysql用戶登錄的加密規(guī)則修改為mysql_native_password老客。
第一種方式,我改了好久,都沒有搞出來,放棄了
這里采用第二種方式。
打開命令行輸入以下代碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規(guī)則
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新用戶的密碼
FLUSH PRIVILEGES; #刷新權(quán)限
然后就可以了
參考文章:武松肉搏白骨精的文章
PS:
對(duì)了,還有一種方法,就是卸載MySQL,安裝5.7的版本
如果有哪里不對(duì)的,歡迎來指正,也歡迎一起來交流學(xué)習(xí)哇
-- iNick
-- 2018/12/29