酥hp 5.5隞乩 銝 mysql 5.2 嚗叮ysql隞 mysqli_connect() Y航炊mysqli_connect(): mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password').: \$ k3 R4 p C& v- ^ s
3 F: B' V1 i& ]' D( A8 T+ ?
臬歉hp 5.3隞亙撖蝣潭16雿蝺函Ⅳ,啁php 5.3隞亙41雿蝺函Ⅳ,mysql 5.2 隞亙閮凋16蝣,隞交甇斤車航炊.
, H+ E5 _0 q7 k& h, t; j# ?閮箸瑚銝mysql: (php 5.6.38 , mysql 5.1.73)
: r& ~* X( r0 m+ k- T0 Q) p餃叮ysql 嗅頛詨 : / O) E: q6 r# @/ @8 f; T
mysql> SHOW VARIABLES LIKE 'old_passwords';' L6 W. N- v+ X8 _5 Q: a# {. q
+------------------+-------+
, F; P! i7 x O! v+ ], [' L# k| Variable_name | Value |; q8 ]& [/ |$ d5 t( I+ i
+------------------+-------+/ b" H; _5 L' D" y; ]
| old_passwords | ON |
[; T2 M7 L& E; B+ K+------------------+-------+ _. ~8 c% E6 m3 C& [
1 row in set (0.00 sec)
: x2 }' Q v" Y8 e& @
2 o0 X$ g9 X# U4 ~5 t6 }4 f* Lold_password ==> ON 撠梯”蝷 /etc/my.cnf 鋆 old_passwords=1 閮剖16蝣,撠摰閮剔 0 嗅mysqld ==> service mysqld restart% }3 }. d ~" d
mysql prompt銝頛詨:
S+ W: B- i8 x" B( q" mmysql> SET old_passwords=FALSE; 2 A# i0 a+ [8 c
瑼X叮ysql.user 瘥撖蝣潮瑕漲:: x6 O/ F6 ?( L
mysql> SELECT 'User', 'Host', Length('Password') FROM mysql.user;- `5 d6 g& v" l; Q5 U+ q- Y' X/ k
憒瘝寞41雿,Length('Password')甈雿閰脤賣160(銵函內瘝閮剖蝣)
0 }' J+ ]% Y! C# U- Q& Y& R T/ T8 M% j0 |
閮剖靘撖蝣:
6 D+ B0 h& i( w1 G0 Bmysql> SET PASSWORD FOR 'root'@'192.168.1.1' = PASSWORD('靘撖蝣'); // 撠敹閬詨靘 撣唾@IP 湔,銝閬寥臭
/ q3 z$ v) _9 N8 {7 R8 o7 z5 zmysql> flush privileges;. R; B! e9 m8 w7 T
p& u- f+ B6 f ~
頛詨 SELECT 'User', 'Host', Length('Password') FROM mysql.user; 瑼X亙蝣澆漲,撠勗舐潛曉寧root 撖蝣潮瑕漲撌脫寧41蝣$ Y/ L$ t k# M4 d4 N, `, f! R0 V# O
瘜冽:5 d' v/ O3 }- f, y+ r
憒撣唾憭芸,臭誑啣憿閮剖蝣,粹閮剖蝣 SET PASSWORD FOR 芷撠亙蝣,銝 old_passwords=0 撠撖蝣潮敶梢===========================================================================( T; y" s! Y: w8 }4 U9 ~$ Y
鄉ysql蝝 8.0.21,php逅ysql箇2銵errors:% T0 B0 Q4 H! ?! T' \1 _, G r5 e
mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers
6 E/ F! o7 Q- g7 o- Cmysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers
. O- \! v7 b! M; C; C' g9 z* m S:
9 x( W6 R/ F0 s' w. L; V r決ySQL 8.0.21銝哨caching_sha2_password舫隤頨思遢撽霅隞塚銝臭誑敺mysql_native_password隞亙php銝詨捆臭誑蝝php嚗銋臭誑靽格遍ySQL蝵柴 曆犖瘙箏靽格遍ySQL蝵:8 S7 y# o# z& M, f; ~ `, j
vi /etc/my.cnf 乩:4 m& `" T! ~4 T. Z
[mysqld]
# q" y( V" F& D" e2 m( _, B6 ]; F1 K0 j2 @% {7 C2 R
character-set-server=utf88 ^4 J+ g$ z# Q; A
default_authentication_plugin=mysql_native_password: U& Q8 s( _& h, `3 U$ I# Q, n8 f
( ^8 }9 G, F' }' ?6 Z. H[mysql]. S# c- g4 ~" v2 s* o
default-character-set=utf8
6 L7 C4 x; Y5 N/ [' g* @( m' _! |
0 g6 i: Z5 j V[client]" t7 j: h& O# d" x$ P# w' T% ~! ^
default-character-set=utf8
3 L. I! J b& G* C/ n
+ K5 @" Y) U& `; ^1 u& V6 n7 P嗅mysqld
9 _. C5 S" u9 S6 ]# A' m+ Bservice mysqld restart! g- ~' j3 `6 L! @( ~' s
摰!!- G# |/ T' u4 D& ^$ k$ k0 h3 h. g" G7 V
- h4 Y! T7 ^ C8 V6 J
' b f$ Y. v6 h! f! d |
|