QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3280|回复: 0
打印 上一主题 下一主题

PHP 5 连接 mysql 5的认证协议问题

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-1-20 14:49 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
<><FONT color=#f70909>来源:LinuxAid</FONT> </P>& j+ j1 n, m9 Z- W( C% e2 ?
<>MYSQL 4.1以后, 采用了一种新的用户认证<a href="http://hackbase.com/network/protocol" target="_blank" >协议</A>, 对于老的客户端会出现不支持认证<a href="http://hackbase.com/network/protocol" target="_blank" >协议</A>的错误, 以下是官方网站的解决方法 r    </P>
; m: z* S6 o2 N  [2 i; M. Z<>  1Upgrade all client programs to use a 4.1.1 or newer client library.    </P>
+ V$ @/ h+ Z6 V7 g. l2 H6 B- u' H<>  更新客户端库,这需要更新PHP的扩展库,对于老的api PHP已经不提供了这样的扩展库了    </P>9 ~, I, a5 c! J) i2 {' Q" I; N* Z7 k
<>  2When connecting to the server with a pre-4.1 client program, use an account that still has a pre-4.1-style password.    </P>0 C5 ~! }* C' w' N. m
<>  使用以前建立的账号连接,对于在新的认证<a href="http://hackbase.com/network/protocol" target="_blank" >协议</A>下建立的<a href="http://hackbase.com/skill" target="_blank" >账户</A>就不行了    </P>( q1 |% x& v; r1 Q! u
<>  3Reset the password to pre-4.1 style for each user that needs to use a pre-4.1 client program. This can be done using the SET PASSWORD statement and the OLD<a href="http://www1.hackbase.com/network/server/200501209617.htm#" target="_blank" >_</A>ASSWORD() function: my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>&gt; SET PASSWORD FOR </P>4 X$ G* q6 Z/ b6 Z4 }
<>  -&gt; <a href=" target="_blank" >_</A>user'@'some<a href="http://www1.hackbase.com/network/server/200501209617.htm#" target="_blank" >_</A>host'"&gt;'some<a href="http://www1.hackbase.com/network/server/200501209617.htm#" target="_blank" >_</A>user'@'some<a href="http://www1.hackbase.com/network/server/200501209617.htm#" target="_blank" >_</A>host'</A> = OLD<a href="http://www1.hackbase.com/network/server/200501209617.htm#" target="_blank" >_</A>ASSWORD('newpwd');    </P>$ Z" |, }9 A7 y; Z$ u
<>  Alternatively, use UPDATE and FLUSH PRIVILEGES: my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>&gt; UPDATE my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>.user SET Password = OLD<a href="http://www1.hackbase.com/network/server/200501209617.htm#" target="_blank" >_</A>ASSWORD('newpwd') -&gt; WHERE Host = 'some<a href="http://www1.hackbase.com/network/server/200501209617.htm#" target="_blank" >_</A>host' AND User = 'some<a href="http://www1.hackbase.com/network/server/200501209617.htm#" target="_blank" >_</A>user'; </P>( l7 s( k( g8 b# ?: }
<>  my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>&gt; FLUSH PRIVILEGES;    </P>  K+ }7 U& l1 R  ^
<>  Substitute the password you want to use for ``newpwd'' in the preceding examples. MySQL cannot tell you what the original password was, so you'll need to pick a new one.   </P>1 s$ T: ?& L. L/ @3 q5 K
<>  这是一个不错的办法,新建立的账号采用老式的加密<a href="http://hackbase.com/network/protocol" target="_blank" >协议</A>    </P>
* ]' t7 U; U* O3 F<>  4Tell the server to use the older password hashing algorithm: </P>1 }% h# q$ ]* O7 W
<>  Start my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>d with the --old-passwords option.   </P>
( O* Q5 C. H# x2 |6 V1 m" J7 S* P<>  这样新认证<a href="http://hackbase.com/network/protocol" target="_blank" >协议</A>的优点就没法使用了    </P>
) j8 H) `/ T3 [9 T+ Z<>  5Assign an old-format password to each account that has had its password updated to the longer 4.1 format. You can identify these accounts with the following query: my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>&gt; SELECT Host, User, Password FROM my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>.user </P>
. I$ H/ z8 a4 j( c: f7 Q' o' W4 c<>  -&gt; WHERE LENGTH(Password) &gt; 16;    </P>
4 O( d2 f/ w5 V- e5 Q<>  For each account record displayed by the query, use the Host and User values and assign a password using the OLD<a href="http://www1.hackbase.com/network/server/200501209617.htm#" target="_blank" >_</A>ASSWORD() function and either SET PASSWORD or UPDATE, as described earlier.    </P>
& i( U- D" g; r4 G; u- i- T  h$ ?<>  恢复已经升级了口令到老样式    </P>: j/ K# F5 F* \1 z9 V
<>  本文参照了 <a href="http://dev.my<a%20href=/" target="_blank" >sql</A>.com/doc/my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>/en/Old<a href="http://www1.hackbase.com/network/server/200501209617.htm#" target="_blank" >_</A>client.html"&gt;http://dev.my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>.com/doc/my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>/en/Old<a href="http://www1.hackbase.com/network/server/200501209617.htm#" target="_blank" >_</A>client.html</A> </P>
& U/ B$ R6 N# G9 d9 F1 V' N; b<>; n$ B. l6 p# k: f1 _' i- h# @- h
<CENTER></CENTER>
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-4-11 17:40 , Processed in 0.617270 second(s), 52 queries .

回顶部