酥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').
7 G* D( S9 P) S8 ~2 i9 n3 o9 ^5 M# `
臬歉hp 5.3隞亙撖蝣潭16雿蝺函Ⅳ,啁php 5.3隞亙41雿蝺函Ⅳ,mysql 5.2 隞亙閮凋16蝣,隞交甇斤車航炊.
$ O9 R' w4 e% T. N% `" L閮箸瑚銝mysql: (php 5.6.38 , mysql 5.1.73)% e- Q2 v; p0 U( u
餃叮ysql 嗅頛詨 :
9 |1 X7 R5 S B/ p6 Amysql> SHOW VARIABLES LIKE 'old_passwords';
- P1 `' q: ]6 V& T+------------------+-------+6 L* R. q. w* y7 b7 ?9 i
| Variable_name | Value |, @. r* b7 ^& k9 z* C9 L4 I, P# `- b
+------------------+-------+8 |% r8 l$ R& ~
| old_passwords | ON |
4 Z( L- H, M5 J. B3 r; F+------------------+-------+* h: @0 _0 b" J0 i
1 row in set (0.00 sec)( i, B( X/ ^+ |7 U- |2 f
8 c, G& ~+ c: l# ~old_password ==> ON 撠梯”蝷 /etc/my.cnf 鋆 old_passwords=1 閮剖16蝣,撠摰閮剔 0 嗅mysqld ==> service mysqld restart, P, u! D# K; v4 }; t$ F
mysql prompt銝頛詨:3 \9 A9 K. R- c4 b6 y% A; _3 d* e
mysql> SET old_passwords=FALSE;
) u: o) f" O' k; X3 [2 u @( z9 G瑼X叮ysql.user 瘥撖蝣潮瑕漲:
Y1 Z# b' @5 K. Q1 v# S! p3 |1 }mysql> SELECT 'User', 'Host', Length('Password') FROM mysql.user;
. q) V. H& z/ v憒瘝寞41雿,Length('Password')甈雿閰脤賣160(銵函內瘝閮剖蝣)
$ c* X# ?% K: d1 e8 I" {, S( t. }4 ?8 D% t/ Y
閮剖靘撖蝣:
7 ~, B# _4 \( w; q* R& l8 _' R6 tmysql> SET PASSWORD FOR 'root'@'192.168.1.1' = PASSWORD('靘撖蝣'); // 撠敹閬詨靘 撣唾@IP 湔,銝閬寥臭% w% c$ J6 K9 H/ L% i
mysql> flush privileges;" p+ J. w9 f+ s& P2 o
' M) P! a" c4 J) u+ N$ V頛詨 SELECT 'User', 'Host', Length('Password') FROM mysql.user; 瑼X亙蝣澆漲,撠勗舐潛曉寧root 撖蝣潮瑕漲撌脫寧41蝣8 F& J2 ~4 y% J# h$ y
瘜冽:
+ H2 L: ?, N+ ^ v8 T i; P( U憒撣唾憭芸,臭誑啣憿閮剖蝣,粹閮剖蝣 SET PASSWORD FOR 芷撠亙蝣,銝 old_passwords=0 撠撖蝣潮敶梢===========================================================================
4 `. h% B! n: |1 [2 \% E7 h7 A鄉ysql蝝 8.0.21,php逅ysql箇2銵errors:; J2 i/ |) f' `5 s
mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers5 x% K% \/ N; A+ ]) ]$ G4 z9 o
mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers
4 J1 F0 L( D! A! d$ G4 R- k:2 N- G9 v* c6 j
決ySQL 8.0.21銝哨caching_sha2_password舫隤頨思遢撽霅隞塚銝臭誑敺mysql_native_password隞亙php銝詨捆臭誑蝝php嚗銋臭誑靽格遍ySQL蝵柴 曆犖瘙箏靽格遍ySQL蝵:
2 M" W n* a' t) z+ M4 _1 ^vi /etc/my.cnf 乩:
3 f+ a$ U# D/ q[mysqld]1 G2 L! n& b' |/ I1 q/ U
( W$ Y) L" o6 `4 k/ {$ x8 ~character-set-server=utf8# N( _! A' {! X" A$ ?
default_authentication_plugin=mysql_native_password
7 I" C* x. i, R; s+ W7 S5 |
7 b/ W6 W; a" |8 k1 G7 w. B1 w[mysql]
& f$ n" q' h4 adefault-character-set=utf8
9 _: q# C$ C/ Z: W& |7 y
4 e" o; P! C) J+ G. v0 |[client]
/ y1 n6 }7 e0 P5 _3 u" ]5 _) vdefault-character-set=utf8
8 r. `& w; q7 C5 e% n- [; k
6 ?) q( D C5 t% Z6 F嗅mysqld" T9 q7 m- I1 b. }* O5 J* ?' x2 `
service mysqld restart
, |, J" U/ o6 o3 X2 l5 L" m( ]摰!!% ]3 ]3 {2 g, p5 f
8 o0 U2 \' G6 }4 T4 Q7 m
) w/ u! t6 H- `) V* y1 @3 q |
|