数学建模社区-数学中国

标题: PHP 5 连接 mysql 5的认证协议问题 [打印本页]

作者: 韩冰    时间: 2005-1-20 14:49
标题: PHP 5 连接 mysql 5的认证协议问题
<><FONT color=#f70909>来源:LinuxAid</FONT> </P>  j7 E$ @% e) v% _( I% A6 {8 z
<>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>
+ p1 e" B$ D% I  Q<>  1Upgrade all client programs to use a 4.1.1 or newer client library.    </P>
- X( ]/ \, l3 w' ~; [: D# l& |<>  更新客户端库,这需要更新PHP的扩展库,对于老的api PHP已经不提供了这样的扩展库了    </P>
( F) y( B  z2 C) \8 ^) I<>  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>
+ g8 X  X9 o) @9 I$ @) G<>  使用以前建立的账号连接,对于在新的认证<a href="http://hackbase.com/network/protocol" target="_blank" >协议</A>下建立的<a href="http://hackbase.com/skill" target="_blank" >账户</A>就不行了    </P>
" |( B" c9 _; T" A+ [% v$ @<>  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>9 e7 K' |. q( p5 E4 p2 N
<>  -&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>
( n0 \0 W7 }6 t+ Q<>  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>
4 _* O  O0 D! d; I& F<>  my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>&gt; FLUSH PRIVILEGES;    </P>
! s+ `/ s: |- O/ |<>  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># s4 N1 K- v" a$ O) _# q1 U
<>  这是一个不错的办法,新建立的账号采用老式的加密<a href="http://hackbase.com/network/protocol" target="_blank" >协议</A>    </P>/ `5 J# [  U/ A5 e1 E! @
<>  4Tell the server to use the older password hashing algorithm: </P>
; d( C0 n! C/ D& \<>  Start my<a href="http://hackbase.com/hacker" target="_blank" >sql</A>d with the --old-passwords option.   </P>5 y5 {( R+ X* R9 O% K7 z( x
<>  这样新认证<a href="http://hackbase.com/network/protocol" target="_blank" >协议</A>的优点就没法使用了    </P>7 M" [0 l5 j2 F- ^4 B% n( z6 W
<>  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>" g# G( G8 P3 N4 r& i; G. h+ s# m
<>  -&gt; WHERE LENGTH(Password) &gt; 16;    </P>
8 G9 c! g8 ~7 R/ }& k- f<>  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>4 f' d1 r# P6 R6 ?
<>  恢复已经升级了口令到老样式    </P>
; u: m4 Q  ~7 ]( p/ G- S' e+ [<>  本文参照了 <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>0 d, E6 W, M: I* V4 S3 q1 Y
<>
% ^- k: Z# b7 {" h) M- P. j' p<CENTER></CENTER>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5