当mySQL4.1以上版本连接MySQL时,出现Client does not support authentication protocol requested by server; consider upgrading MySQL client的报错 。
官方的说法是
mysql到4.1以上版本的加密模式与旧版不同了。
解决办法最常用的就是将高版本的加密模式改回旧版本的。
网上常见得解决答案是:
其一:
mysql> SET PASSWORD FOR
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
其二:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
但这两种方法在mySQL的5.6及以上版本版本中会报错,因为OLD_PASSWORD函数不适用于新版本。
解决办法是用:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';