如何解决MySQL的客户端不支持鉴定协议

作者:30933 来源:赛迪网 时间:2008-11-27 17:10: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客户端库。

标签:
0
投稿

猜你喜欢

  • oracle 多个字符替换实现

    2009-10-23 17:50:00
  • 绿色下划线的简洁CSS导航代码

    2007-09-17 12:51:00
  • asp如何在ADO中客户端利用好缓存技术?

    2010-06-17 12:50:00
  • 数据库之:Mysql数据库服务器安装与配置

    2010-08-31 14:11:00
  • 豆瓣可以做而且值得做的几件事情

    2009-04-24 12:07:00
  • 设计评论表单[译]

    2009-03-25 20:41:00
  • Javascript"篱式"条件判断(翻译)

    2008-08-01 12:21:00
  • SQLServer WITH 的用法

    2009-07-09 18:54:00
  • 按钮在 IE 中两边被拉伸的 BUG

    2008-11-17 20:37:00
  • 混乱的标记语言XHTML2/HTML5

    2009-07-31 14:27:00
  • CSS实现垂直居中的5种方法

    2009-03-04 12:53:00
  • 有时间先后的翻页

    2008-05-23 13:14:00
  • MySQL数据库性能优化妙招

    2009-03-20 13:13:00
  • 如何在ADO服务器端利用好缓存技术?

    2010-06-17 12:49:00
  • div+css实现圆角边框

    2007-10-21 08:55:00
  • MySQL重定位数据库目录的内容

    2009-02-26 16:03:00
  • Mootools 1.2教程(11)——Fx.Morph、Fx选项和Fx事件

    2008-12-04 16:03:00
  • ASP处理多关键词查询实例代码

    2008-11-21 17:36:00
  • asp获取客户端的MAC地址

    2007-08-17 10:58:00
  • 纯CSS图片预加载

    2009-10-28 18:40:00
  • asp之家 网络编程 m.aspxhome.com