软讯网络 > 冲浪宝典 > 网络资源 > Mysql 4.1以后版中的新的密码验证机制
【标 题】:Mysql 4.1以后版中的新的密码验证机制
【关键字】:
Mysql,4.1
【来 源】:http://www.cublog.cn/u/9951/showart.php?id=152555
Mysql 4.1以后版中的新的密码验证机制
Q:为什么出现下面的错误
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
A:原因是因为你使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password();,这样使用password()生成的密码在旧的版本上的客户端就不好使了,而PHP中的MYSQL客户端都是3.23的(当然,mysqli的扩展除外),问题就在这了。
你使用的数据库是4.1以上,用命令行连接MySQL数据库后,执行下面的命令:
UPDATE mysql.user SET password=OLD_PASSWORD("your_password") WHERE Host="your_host" AND User="your_username" ;
即可解决。
your_password:改成你连接数据库的密码,比如 123
your_host:改成你连接数据库的主机,如果是本地的话,就是localhost
your_username:改成你连接数据库的用户,比如 root