酥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').
, L5 ^) g: T: j X' M9 {3 }) G! b" m. ^; n. {5 L P/ J& l. x( P1 U
臬歉hp 5.3隞亙撖蝣潭16雿蝺函Ⅳ,啁php 5.3隞亙41雿蝺函Ⅳ,mysql 5.2 隞亙閮凋16蝣,隞交甇斤車航炊.
; p2 b. d/ K2 g1 D1 _/ v% f }閮箸瑚銝mysql: (php 5.6.38 , mysql 5.1.73)9 Z6 g9 J+ H; u9 N
餃叮ysql 嗅頛詨 : % F \7 H2 R7 s V; }
mysql> SHOW VARIABLES LIKE 'old_passwords';
2 Z+ a0 i& \. K% T0 W1 q. d+------------------+-------+
; q0 x" Q/ N9 l2 _8 r6 k| Variable_name | Value |
- d* y' [9 p( s$ Y+------------------+-------+) B+ n3 n* Z3 D" C+ a# {, d6 q
| old_passwords | ON |
/ c0 g3 e, ~) ?" o6 J+------------------+-------+
l& x- M' K# _, f c& [ E# {1 row in set (0.00 sec)
8 j+ u/ {& j! o6 ?4 ~5 z
$ z1 k; ]0 @5 ]6 k) @old_password ==> ON 撠梯”蝷 /etc/my.cnf 鋆 old_passwords=1 閮剖16蝣,撠摰閮剔 0 嗅mysqld ==> service mysqld restart2 k Y7 J N9 h* X7 b9 s" D
mysql prompt銝頛詨:3 x: E+ d3 P/ h1 g$ W
mysql> SET old_passwords=FALSE; 4 y Q$ U7 h% N* Q: v% h% {7 w
瑼X叮ysql.user 瘥撖蝣潮瑕漲:7 Z! D F7 }/ ?
mysql> SELECT 'User', 'Host', Length('Password') FROM mysql.user;
* C1 V+ a2 ]+ K D* ^3 g! i" [! T憒瘝寞41雿,Length('Password')甈雿閰脤賣160(銵函內瘝閮剖蝣)
# p$ ^4 M) Y4 w! t
( p; U6 ]3 }: _( _閮剖靘撖蝣:6 F6 M2 _1 d8 y: m
mysql> SET PASSWORD FOR 'root'@'192.168.1.1' = PASSWORD('靘撖蝣'); // 撠敹閬詨靘 撣唾@IP 湔,銝閬寥臭: p% F* q9 n/ g3 l% k# Y, C+ ]
mysql> flush privileges;
s( _ S( J1 [$ M. f( k* s( ]( b% L" W P1 O
頛詨 SELECT 'User', 'Host', Length('Password') FROM mysql.user; 瑼X亙蝣澆漲,撠勗舐潛曉寧root 撖蝣潮瑕漲撌脫寧41蝣; m+ j$ Z% V/ {" h4 `7 D
瘜冽:
; u7 p3 R+ X: | a憒撣唾憭芸,臭誑啣憿閮剖蝣,粹閮剖蝣 SET PASSWORD FOR 芷撠亙蝣,銝 old_passwords=0 撠撖蝣潮敶梢===========================================================================
4 g* Z* b! [4 Q" T8 |鄉ysql蝝 8.0.21,php逅ysql箇2銵errors:
0 g5 ?$ N$ M u! z( B- omysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers
' C6 @2 X0 ?7 omysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers1 B0 ~5 k! z$ x. `" C
:/ Q, y! ?) |$ m# ?7 d- F8 u
決ySQL 8.0.21銝哨caching_sha2_password舫隤頨思遢撽霅隞塚銝臭誑敺mysql_native_password隞亙php銝詨捆臭誑蝝php嚗銋臭誑靽格遍ySQL蝵柴 曆犖瘙箏靽格遍ySQL蝵:
# E3 L, S: e6 A. N5 V6 a2 z( ivi /etc/my.cnf 乩:$ x5 R; _/ ^& [+ I" m% F
[mysqld]
, K4 N3 Z, l8 _3 ]; P* r: B( m$ B4 _
character-set-server=utf81 o0 i$ r9 C; d# [) |- p+ T; J
default_authentication_plugin=mysql_native_password
9 ]5 J4 T( S" X2 \' E* p$ i6 Z, r; m( o1 v5 j
[mysql]1 v* _, Y2 b( Q) M R
default-character-set=utf86 ^4 j' N* ^# u( w) [6 ]4 a) R
1 D) r$ j6 f ]# A/ k( ]3 G[client]* g9 c8 T% g, d( f2 f& `0 F4 M, J
default-character-set=utf8) t8 E0 g* ^5 P' b u3 C: F2 S
8 ~! ~5 k6 w3 v, E
嗅mysqld9 ~" M! i6 m& C, D! x: X
service mysqld restart
& E/ i& `+ ~' d! \0 q; ? ~, @6 }( P摰!!
% M! H" B! l9 L9 _, D# G2 N2 e
- ?+ V6 I- ` |# g& P- s( A3 e
3 [' t# L9 K5 H Q- M |
|