這個錯誤出現的原因是在mysql8之前的版本中加密規則為mysql_native_password,而在mysql8以后的加密規則為caching_sha2_password。
解決此問題有兩種方法,一種是更新navicat驅動來解決此問題,一種是將mysql用戶登錄的加密規則修改為mysql_native_password。本文采用第二種方式
- ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規則
- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用戶的密碼
- FLUSH PRIVILEGES; #刷新權限