酥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').3 L8 F9 J! a4 P! u9 X3 B- P L
# }7 T4 n/ n8 \# s9 u$ d9 K" e' `( p
臬歉hp 5.3隞亙撖蝣潭16雿蝺函Ⅳ,啁php 5.3隞亙41雿蝺函Ⅳ,mysql 5.2 隞亙閮凋16蝣,隞交甇斤車航炊.
3 a2 e: }7 R- C閮箸瑚銝mysql: (php 5.6.38 , mysql 5.1.73)' E. k# d J: X) C* L) j
餃叮ysql 嗅頛詨 :
& |0 ~5 `: @' h @6 y+ ~mysql> SHOW VARIABLES LIKE 'old_passwords';
0 Z w8 t7 M* g' B5 |# T3 }, ]+------------------+-------+
5 b1 M) D3 c9 X U, J% Q$ p9 k| Variable_name | Value |* ]* N3 k% _2 M; C- X/ A
+------------------+-------+
5 ]/ e$ O# C+ |3 i1 X+ v| old_passwords | ON |$ A3 Q8 K: z1 g- L
+------------------+-------+
" }" s5 e9 A: N' I6 X3 m1 row in set (0.00 sec)
% X( h7 r, N6 W; O+ p s& o) d" N/ k7 L# e9 U9 z( M
old_password ==> ON 撠梯”蝷 /etc/my.cnf 鋆 old_passwords=1 閮剖16蝣,撠摰閮剔 0 嗅mysqld ==> service mysqld restart
X% u" L$ u4 e, g1 L# I mysql prompt銝頛詨:
1 E6 \/ R! b0 R8 e% e5 [6 Umysql> SET old_passwords=FALSE;
. [( i/ X: i/ e瑼X叮ysql.user 瘥撖蝣潮瑕漲:
0 |6 o! X4 O0 L C" m4 x& s( ymysql> SELECT 'User', 'Host', Length('Password') FROM mysql.user;! m2 r: V* R3 e* l4 ~8 _6 @
憒瘝寞41雿,Length('Password')甈雿閰脤賣160(銵函內瘝閮剖蝣) ) s! d' F& y) T, b7 W
T* o( N" Z2 A$ C閮剖靘撖蝣:7 A% F3 G, t- X8 F. W9 q
mysql> SET PASSWORD FOR 'root'@'192.168.1.1' = PASSWORD('靘撖蝣'); // 撠敹閬詨靘 撣唾@IP 湔,銝閬寥臭
& U$ s# L% d8 _mysql> flush privileges; r+ o* P& R. M3 I$ D) f4 s/ d
) Y+ b. E" l5 I- W. u. S; \
頛詨 SELECT 'User', 'Host', Length('Password') FROM mysql.user; 瑼X亙蝣澆漲,撠勗舐潛曉寧root 撖蝣潮瑕漲撌脫寧41蝣 U: F# T' o$ ^8 w* c1 f
瘜冽:
8 T9 M' q* G2 L. Q憒撣唾憭芸,臭誑啣憿閮剖蝣,粹閮剖蝣 SET PASSWORD FOR 芷撠亙蝣,銝 old_passwords=0 撠撖蝣潮敶梢===========================================================================( m( }6 @; N) ]2 v2 N' n! v8 e! Y
鄉ysql蝝 8.0.21,php逅ysql箇2銵errors:
0 N4 D( [' l. ]+ o0 m# S* kmysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers& G `7 Y! F" x: w) u# m, i' ~' Y
mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers
5 c( I7 D0 E; _:
; N' d3 z. o+ I3 s/ A決ySQL 8.0.21銝哨caching_sha2_password舫隤頨思遢撽霅隞塚銝臭誑敺mysql_native_password隞亙php銝詨捆臭誑蝝php嚗銋臭誑靽格遍ySQL蝵柴 曆犖瘙箏靽格遍ySQL蝵:7 M. B% L# H3 k
vi /etc/my.cnf 乩:0 L. i# b9 s0 |: C7 c- X/ B
[mysqld]( J/ {* F3 j. m* K4 @
3 |" Y f. d8 Y- |; g( W% f1 Z& C
character-set-server=utf8
9 F G+ L! g2 R0 |default_authentication_plugin=mysql_native_password; J/ \& P }* l8 K* s; A, n0 K
1 D' n% l5 U" i5 S+ H
[mysql]0 _" s* d3 B) g
default-character-set=utf8
; ?/ p' x% ?- G
, m8 s. d3 i; k3 X- {[client]
+ E( w# B$ P( Gdefault-character-set=utf8
( o3 o7 B. c( \. d t
{, T1 w" _/ v* o) [嗅mysqld
: X2 B+ w' B7 ]9 Aservice mysqld restart" e8 T9 F5 }8 N1 G4 z
摰!!
$ p+ L' M: u( m3 o" d2 Y
1 o" ^+ P/ [0 w4 g7 }) a1 q
. y% O$ \ B, O) T |
|