[Solved] MySQL 8 Connect Navicat error: error 2059

#Error message:

the reason for this error is the encryption rule MySQL in versions before MySQL 8_native_Password, and the encryption rule after MySQL 8 is caching_sha2_password. There are two ways to solve this problem. One is to update the Navicat driver to solve this problem, and the other is to modify the encryption rules of MySQL user login to MySQL_native_password. The second method is adopted here
# solution
log in to the database
set the password to never expire

alter user 'root'@'localhost' identified by 'root' password expire never;

Set the encryption rule to MySQL_native_password

alter user 'root'@'localhost' identified with mysql_native_password by 'root';

Access Navicat again and you will be prompted that the connection is successful

Read More: