您现在的位置: 软界网资讯中心软件技术数据库MySQL > 资讯显示
行业新闻|互联网|信息安全|软件评测|游戏娱乐|人才新闻|展会信息|软件技术|精英访谈|公司新闻      
解析:客户端不支持鉴定协议的解决方法
2007-11-30 0:00:00   网友评论       阅读次数 点此评论
  

  MySQL 5.1采用了基于密码混编算法的鉴定协议,它与早期客户端(4.1之前)使用的协议不兼容。如果你将服务器升级到4.1之上,用早期的客户端进行连接可能失败,并给出下述消息:

  shell> mysql

  客户端不支持服务器请求的鉴定协议:请考虑升级MySQL客户端。

  要想解决该问题,应使用下述方法之一:

  ·升级所有的客户端程序,以使用4.1.1或更新的客户端库。

  ·用4.1版之前的客户端连接到服务器时,请使用仍具有4.1版之前风格密码的账户。

  ·对于需要使用4.1版之前的客户端的每位用户,将密码恢复为4.1版之前的风格。可以使用SET PASSWORD语句和OLD_PASSWORD()函数完成该任务:

  ·mysql> SET PASSWORD FOR

  ·-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

  也可以使用UPDATE和FLUSH PRIVILEGES:

  mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')

  -> WHERE Host = 'some_host' AND User = 'some_user';

  mysql> FLUSH PRIVILEGES;

  用你打算使用的密码替换前例中的“newpwd”。MySQL不能告诉你原来的密码是什么,因此,你需要选择新的密码。

  ·通知服务器使用旧的密码混编算法:

  1.使用“--old-passwords”选项启动mysqld。

  2.对于已将密码更新为较长4.1格式的每个账户,为其指定具有旧格式的密码。可以使用下述查询确定这些账户:

  3.

  mysql> SELECT Host, User, Password FROM mysql.user

  4.

  -> WHERE LENGTH(Password) > 16;

  对于查询显示的每个账户记录,请使用Host和User值,并使用OLD_PASSWORD()函数以及SET PASSWORD或UPDATE之一指定密码,如前面所介绍的那样。

  注释:在早期的PHP版本中,mysql扩展不支持MySQL 4.1.1和更高版中的鉴定协议。无论使用的PHP版本是什么,它均是正确的。如果你打算与MySQL 4.1或更高版本一起使用mysql扩展,需要使用前面介绍的选项之一,配置MySQL,以便与较早的客户端一起使用。mysqli扩展(支持“改进的MySQL”,在PHP 5中增加)与MySQL 4.1和更高版本中使用的改进的密码混编算法兼容,不需要对MySQL进行特殊配置就能使用该MySQL客户端库。

      来源: 作者:
【评论查看】
更多关于 MySQL Vista  的新闻
07年十佳IT产品 Windows XP挤掉Vista/图 2007-12-7 0:00:00
XP SP3多数功能借鉴Vista 安装将无需密码 2007-12-6 0:00:00
Vista SP1反盗版有新招 30天不激活就黑屏 2007-12-5 16:35:27
微软:Windows Vista盗版率只相当于XP一半 2007-12-5 16:35:25
微软改变对待盗版Vista策略 态度不再强硬 2007-12-5 16:34:02
      
热点新闻
·《春秋Q传》全新师徒系统即将上线
·Photoshop实例:调出MM清
·CAT开出48亿罚单 华为高层赴泰
·"中国黑客门"调查:被攻击国家三缄
·美"国安小黑屋"曝光:监视全球网民
·还原美丽:Photoshop美女磨
·炫出我的个性!QQ皮肤绘制全程实录
·防QQ密码被盗的十项技巧
·微软否认"Vista可能引起网络性
·Adobe将推在线版免费Photo
热门评论
·惠普连续5个季度压制戴尔 稳居PC
·Photoshop实例:调出MM清
·起价3000元 龙芯电脑首次接受消
·Adobe将推在线版免费Photo
·西门子开展举报行动 已接到部分举报
·微软否认"Vista可能引起网络性
·防QQ密码被盗的十项技巧
·还原美丽:Photoshop美女磨
·赛迪顾问与微软发布中国IT服务产业
·戴尔正酝酿“iPhone杀手” 明