酥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').
2 d" B8 ^% _- B; N) R- }) S& z" h
/ i2 z! v q+ L7 s1 D+ a: ~& k臬歉hp 5.3隞亙撖蝣潭16雿蝺函Ⅳ,啁php 5.3隞亙41雿蝺函Ⅳ,mysql 5.2 隞亙閮凋16蝣,隞交甇斤車航炊.! [& m t$ [. @; d& e/ j
閮箸瑚銝mysql: (php 5.6.38 , mysql 5.1.73)
5 h: D& a0 `( ~$ A. M餃叮ysql 嗅頛詨 :
2 I# m% H. l% A% Q+ Nmysql> SHOW VARIABLES LIKE 'old_passwords';
, e9 Q% y5 V( y# Q+------------------+-------+
. q5 V# U3 m# p, r' [* r! f| Variable_name | Value | @. w# j5 o4 Y7 j; a8 A
+------------------+-------+
) Y$ @6 k$ D, H1 g! y! Q| old_passwords | ON |
/ X0 b A5 F* V9 A* w" T+------------------+-------+7 _ [7 l; A) r& V0 H' F! n; Y; \
1 row in set (0.00 sec)
. L; [( i2 F) P9 `- v* y. ?
0 F. L, ?& d/ B4 g) uold_password ==> ON 撠梯”蝷 /etc/my.cnf 鋆 old_passwords=1 閮剖16蝣,撠摰閮剔 0 嗅mysqld ==> service mysqld restart/ X' T3 E% S0 R4 d" v5 B) S
mysql prompt銝頛詨:
9 i: H- X' ~- L8 Umysql> SET old_passwords=FALSE; ( a9 }, n4 r" s- D/ j0 w' b. p
瑼X叮ysql.user 瘥撖蝣潮瑕漲:0 g- _# K: c# O9 h
mysql> SELECT 'User', 'Host', Length('Password') FROM mysql.user; d/ z# x4 l) Q- z. z. ]- j* F
憒瘝寞41雿,Length('Password')甈雿閰脤賣160(銵函內瘝閮剖蝣) 5 k7 p; y0 }; c/ F; L Y
5 V1 ]9 V, c% [閮剖靘撖蝣:
E4 Q7 E& w) h, p( }5 B; Kmysql> SET PASSWORD FOR 'root'@'192.168.1.1' = PASSWORD('靘撖蝣'); // 撠敹閬詨靘 撣唾@IP 湔,銝閬寥臭 f" v+ X! E4 ]1 b+ o
mysql> flush privileges;
) Z8 K9 r4 |1 i) O0 J3 Z w8 D
頛詨 SELECT 'User', 'Host', Length('Password') FROM mysql.user; 瑼X亙蝣澆漲,撠勗舐潛曉寧root 撖蝣潮瑕漲撌脫寧41蝣
" n$ l8 A" a: {; Q瘜冽:/ {( m0 v! O1 J. ~
憒撣唾憭芸,臭誑啣憿閮剖蝣,粹閮剖蝣 SET PASSWORD FOR 芷撠亙蝣,銝 old_passwords=0 撠撖蝣潮敶梢===========================================================================5 ]4 b: b' {, v8 F* M. t" F
鄉ysql蝝 8.0.21,php逅ysql箇2銵errors:* [/ X# k8 L! v0 R
mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers
2 q0 T( m( A5 Z6 @7 n7 S. ~mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers6 p z. `8 V/ K7 y
:1 y: T/ @6 t% M/ ~, o
決ySQL 8.0.21銝哨caching_sha2_password舫隤頨思遢撽霅隞塚銝臭誑敺mysql_native_password隞亙php銝詨捆臭誑蝝php嚗銋臭誑靽格遍ySQL蝵柴 曆犖瘙箏靽格遍ySQL蝵:
! o/ ]% g! ~; B" k( v) Zvi /etc/my.cnf 乩:
1 U6 \2 U7 W* d ^1 S- s3 P[mysqld]
$ l/ ~( [: |& j1 V2 V% `" e l$ n* d+ q! s' _/ S+ `! L5 k
character-set-server=utf8$ n4 i1 E4 b0 w/ ^
default_authentication_plugin=mysql_native_password1 b8 S. Z) W' W+ o- v
8 z, E! a5 _- n0 @ r& T/ x, {# E[mysql]
& p4 g0 D3 I& P/ a5 c; {5 xdefault-character-set=utf8
. D6 ^" E9 y; c7 Y! E" |! [! G) _5 q4 k# G* E2 |. `
[client]
- k4 i! P C! A3 w" ?default-character-set=utf8
. ^! }" G% {' q8 j3 V! \) E L
1 H3 W u3 }# A3 Q/ R嗅mysqld F0 A$ M4 j$ |3 u+ A# |% k
service mysqld restart
; T" j& V& n2 U' u$ p摰!!
) q0 v* ~5 J4 z5 u/ u3 o# _5 L, Y- E" n( P6 }* h
$ p1 n$ b! n8 Y( V4 b& ^ |
|