« 重新恢复了blog.devep.net/virushuo | Main | 最早注册的100个域名 »

mysql 4.1 windows版本客户端登录错误

作者:virushuo 发表于 2005-10-19 01:10 最后更新于 2005-10-19 05:10
版权声明:按照by-nc-sa的cc协议可转载,拒绝采用“独家” 授权媒介(含网站和平面媒体)转载、引用、链接,除非获得本人许可。转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。


Mysql 4.1版本,用客户端连接的时候(用phpmyadmin等等php的程序也有一样的问题),会出现这个提示:
Client does not support authentication protocol requested
by server; consider upgrading MySQL client

原因:
MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. .....

大概就是4.1 采用了新的加密算法(是什么新的呢?不都是md5吗?),但是客户端的加密方法仍然还是旧的算法。所以就出错了。

解决方法:
先用mysql -uroot -p 连接到数据库,然后
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;

这样就能解决了。其实就是用这条语句把密码重新写到数据库一次。
但很烦的,以后如果修改了用户的密码,或是新增加了用户,都要这样处理一下才可以。

blog comments powered by Disqus
CC License. Some rights reserved.
署名·非商业用途·保持一致
本站之所有未作特别说明的内容均使用 创作共用协议.
POWERED_BY_MT_3.2