回答
solution是使用MySQL的OLD_PASSWORD函数更新数据库用户的密码。例如:
[[email protected] ~]$ mysql -u root -p mysql
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 267
Server version: 5.1.41-3ubuntu12.1 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql;
Database changed
mysql> update user set Password=OLD_PASSWORD('password') WHERE User='username';
Query OK, 0 rows affected (0.02 sec)
Rows matched: 0 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>
从PHP 5.6.5开始,您需要在`my.ini`的`[mysqld]`部分设置这些值,以启用与mysql 4客户端的连接: old_passwords = 1 secure-auth = 0 您可能还需要将`mysql_old_password`添加到`mysql` db中`user`表中的`plugin`部分 – Wertisdk 2013-11-06 10:52:50
这是一个已知的MySQL问题。 C.5.2.4. Client does not support authentication protocol:
MySQL 5.1使用基于密码散列算法的身份验证协议,该算法与旧版(4.1之前)客户端使用的算法不兼容。如果从4.0升级服务器,尝试使用旧客户端连接到服务器可能会失败,并显示以下消息:“客户端不支持服务器请求的验证协议 ;请考虑升级MySQL客户端”。
要解决此问题,您应该使用以下方法之一:
1.升级所有客户端程序以使用4.1.1或更新的客户端库。
2.使用4.1之前的客户端程序连接到服务器时,请使用仍具有4.1以前版本密码的帐户。
3.为每个需要使用4.1之前的客户端程序的用户重置密码为4.1之前的样式。
4.通知服务器使用旧密码散列算法。
这是解决办法,但我发现直接程序来解决它(这是在更具体的细节相同的答案),我现在就把它在这里,无论如何,THX! – palmic 2010-12-01 10:39:27
- 1. 未处理的拒绝SequelizeConnectionError:ER_NOT_SUPPORTED_AUTH_MODE:客户端不支持服务器要求的身份验证协议
- 2. 客户端不支持服务器请求的认证协议;考虑升级MySQL客户端
- 3. Web服务客户端身份验证
- 4. 最佳Python支持的服务器/客户端协议?
- 5. 最佳Java支持的服务器/客户端协议?
- 6. 如何告诉服务器客户端支持SPDY协议?
- 7. 执行Facebook身份验证:客户端和服务器端
- 8. 服务器端WCF客户端身份验证
- 9. 如何支持SSL客户端证书身份验证?
- 10. 客户端/服务器证书身份验证:IIS服务器端,黑莓本机浏览器客户端
- 11. 代理服务器上的JAX-WS客户端身份验证
- 12. 由服务器进行的客户端身份验证
- 13. 服务器Tomcat中的客户端身份验证
- 14. 如何从服务器验证客户端的身份?
- 15. 支持身份验证的Java代理客户端类
- 16. HTTP请求未经客户端身份验证方案“协商”授权。身份验证标头
- 17. WCF - 在头中配置客户端/服务器身份验证?
- 18. 现代客户端/服务器身份验证技术
- 19. 确保客户端/服务器身份验证没有凭据
- 20. Facebook的身份验证,并签署了客户端请求
- 21. Rest客户端是否支持NTLM身份验证?
- 22. HTTP请求未经授权,客户端身份验证方案'协商'
- 23. HTTP请求未经客户端身份验证方案“协商”授权。
- 24. 服务器到客户端的服务器身份验证 - 单线程
- 25. Visual Basic错误 - mysql客户端不支持身份验证协议 - 我该如何解决?
- 26. 客户端请求的协议的SSLv3未启用或不支持(IBM JDK 6.0SR10)
- 27. STS不支持所请求的身份验证方法
- 28. Facebook身份验证中客户端和服务器端有什么不同?
- 29. 客户端应用程序服务 - 来自WPF客户端的身份验证
- 30. Web服务 - C#客户端和Apache服务器基本身份验证 - 错误HTTP 400错误请求
参见https://dev.mysql.com/doc/refman/5.5/en/old-client.html?acf=1#add-comment – rogerdpack 2017-09-05 04:10:40