Pico
Joined: 18 Jan 2004
Posts: 248
Location: HostMachine.net
|
Posted: 8.3.2005, 00:10 Post subject: Client does not support authentication protocol requested |
|
|
Pri delu z MySQL 4.1 ali novejšo verzijo, lahko naletimo na napako:
Client does not support authentication protocol requested
by server; consider upgrading MySQL client
To se pojavlja, ker ima MySQL 4.1 novejšo različico algoritma za enkripcijo gesla, ki pa ni kompatibilna s starim algoritmom. Če smo nadgradili MySQL server, so vsi stari privilegiji ostali s starim algoritmom, ki ga novi prepozna in zna delat z njim, vsi novi uporabniki/privilegiji, ki jih pa od nadgradnje nadalje vpišemo, bodo pa imeli geslo kodirano po novem, izboljšanem algoritmu, katerega pa stari odjemalci oz. programi ne prepoznajo več.
Zato nam bodo nekateri programi javljali to napako.
Obstaja več rešitev za rešitev problema:
Nadgradite uporabniški program, ki uporablja novejše knjižnice
Če se povezujete z MySQL s starim programom, uporabite MySQL uporabnika in geslo, ki je bilo kreirano še pred nadgradnjo MySQL-a
Resetirajte geslo uporabnika v MySQL in ga zamenjajte s starim, ki uporablja 16-bitni hash algoritem:
UPDATE mysql.user SET Password = OLD_PASSWORD('novo_geslo') WHERE Host = 'some_host' AND User = 'some_user';
FLUSH PRIVILEGES;
Ker tudi v MySQL bazi ne morete videti starega gesla, boste pač morali izbrati novo, ki pa bo po tej metodi kriptirano s starim 16-bitnim algoritmom.
Prisilite MySQL server, da uporablja star algoritem za enkripcijo gesel. Torej morate startati MySQL server z opcijo --old-passwords , ali pa v datoteki my.ini, ki se nahaja ali v C:\Windows ali c:\MYSQL mapi, poiščete skupino spremenljivk [mysqld] in tam dodate v novi vrstici opcijo:
old-passwords |
|