[转帖]MYSQL升级导致的"Client does not support authentication protocol requested by server"...

本文提供了解决Mysql4.1及以上版本中PHP连接问题的三种方法,包括使用SET PASSWORD和UPDATE mysql.user命令,以及启用旧密码选项。适用于升级数据库后遇到的认证协议不支持的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Client does not support authentication protocol requested by server;
所有安装Mysql4.1以上版本的用户请看本条!!!!!!!!!

Mysql 4.1及以上版本使用了新的密码算法,而PHP不支持新算法,因此在新增用户后,还需要用下面的方法解决PHP无法连接登录Mysql的问题:  (其中some_user,some_host,newpwd分别是您数据库的用户名,主机,密码)
[b]第一种解决方法:[/b]
mysql> SET PASSWORD FOR
    -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
比方说数据库用户是admin,主机localhost,密码是123456
这时候输入的命令应该是:
mysql> SET PASSWORD FOR admin@localhost=OLD_PASSWORD('123456');
[感谢henrykim做的这个例子]
第二种解决方法:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
    -> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;

第三种解决方法(不推荐)
用 --old-passwords 选项启用 mysqld,然后用上面的方法更改原有用户

转载于:https://www.cnblogs.com/leaway/archive/2006/08/24/485706.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值