SQLyong或navicat客户端连接MySQL失败

SQLyong/Navicat 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol 错误

mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 客户端版本低的话加密规则和mysql8的加密规则不一样,因此会连接失败。

解决办法

  1. 升级SQLyong/navicat客户端版本(推荐)

  2. 修改MySQL加密规则(不推荐,如果暂时连接一下,可以先修改为mysql_native_password,然后复原为caching_sha2_password)

    • 执行语句
    1
    2
    3
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    FLUSH PRIVILEGES;
    # ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '123456';