mysql 4.1 windows版本客户端登录错误
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://blog.devep.net/virushuo/2005/10/19/mysql_41_windows_client_does_not_support_authentication.html
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;
这样就能解决了。其实就是用这条语句把密码重新写到数据库一次。
但很烦的,以后如果修改了用户的密码,或是新增加了用户,都要这样处理一下才可以。




