Client does not support authentication protocol requested by server; consider upgrading MySQL client

1、在使用navicat11连接mysql8时报如下错误:

1251-Client does not support authentication protocol requested by server; consider upgrading MySQL client

2、问题分析:

根据提示:客户端版本太低

 

3、解决问题:

问题是navicat如何升级mysql连接客户端的版本呢?
有没有其他的办法呢?
网上有网友给出的解决办法:
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;

root是用户名,localhost是ip地址127.0.0.1都是特指本机,mysql_native_password是旧的密码验证机制

但是我们公司的数据库,别人都可以连上,为啥我的就不行呢?

 一起来看看navicat官方给的文档:

Use OLD_PASSWORD encryption  
The password hashing mechanism was updated in MySQL 4.1 to provide better security and to reduce the risk of passwords being intercepted. However,
this new mechanism is understood only by MySQL 4.1 (and newer) servers and clients, which can result in some compatibility problems.
A 4.1 or newer client can connect to a pre-4.1 server, because the client understands both the old and new password hashing mechanisms. However,
a pre-4.1 client that attempts to connect to a 4.1 or newer server may run into difficulties. Enable this option if you wish to maintain backward compatibility with pre-4.1 clients under circumstances where the server would otherwise generate long password hashes.
The option does not affect authentication (4.1 and later clients can still use accounts that have long password hashes),
but it does prevent creation of a long password hash in the user table as the result of a password-changing operation.
大致意思是说:
连接到4.1或更高版本服务器的4.1之前的客户端可能会遇到困难。
如果希望在服务器将生成长密码散列的情况下保持与4.1版之前的客户端的向后兼容性,请启用[OLD_PASSWORD]此选项

 

4、既然如此,那就换个新版本的navicat.

 

5、

 

posted @ 2020-03-02 11:34  天意天雨  阅读(410)  评论(0编辑  收藏  举报