Pico
Site Admin
Joined: 18 Jan 2004 |
Posts: 250 |
Location: HostMachine.net |
|
|
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
|
_________________ Site admin alias Labsy
Vsi nasveti in tehnične rešitve so podani v dobri veri in za ljudi z razčiščenimi pojmi o veljavni zakonodaji.
Odgovornost prevzemam izključno in samo za tiste posege, ki jih opravim lastnoročno.
|