使用MySql 4.1 以上无法链接数据库问题解决方法

安装MySql4.1以上,php程序等无法连接数据库,错误信息如下:

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

出现这个问题的原因:

因为使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password ();,这样使用password()生成的密码在旧的版本上的客户端就不好使了,而PHP中的MYSQL客户端都是3.23的(当然,mysqli的扩展除外),问题就在这了。

解决方法:

1、用户root,密码root,使用set命令:
mysql\bin>mysql -uroot -proot
mysql\bin>set password for 'root'@'localhost'=old_password('root');

2、用户root,密码root,使用update命令:
mysql\bin>UPDATE mysql.user SET Password = OLD_PASSWORD('root') WHERE Host = 'localhost' AND User = 'root';
mysql\bin>FLUSH PRIVILEGES;

over!