edytuj:dotyczy to tylko sytuacji, gdy kontrolujesz serwer MySQL... jeśli nie patrzysz na Metoda haszowania hasła Mysql stara vs nowa
Najpierw sprawdź zapytaniem SQL
SHOW VARIABLES LIKE 'old_passwords'
(w kliencie wiersza poleceń MySQL, HeidiSQL
lub dowolny interfejs użytkownika), czy serwer jest domyślnie ustawiony na używanie starego schematu haseł. Jeśli zwróci old_passwords,Off
po prostu masz stare wpisy hasła w user
stół. Serwer MySQL użyje starej procedury uwierzytelniania dla tych kont. Możesz po prostu ustawić nowe hasło do konta, a nowa procedura zostanie użyta.
Możesz sprawdzić, która procedura będzie używana, patrząc na mysql.user
stół (z kontem, które ma dostęp do tego stołu)
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
To zwróci 16 dla kont ze starymi hasłami i 41 dla kont z nowymi hasłami (i 0 dla kont bez hasła, możesz też się nimi zająć).
Użyj narzędzi zarządzania użytkownikami interfejsu MySQL (jeśli takie istnieją) lub
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;
(zastąp User
i Host
z wartościami uzyskanymi z poprzedniego zapytania.) Następnie ponownie sprawdź długość hasła. Powinno być 41 teraz Twój klient (np. mysqlnd) powinien być w stanie połączyć się z serwerem.
zobacz także dokumentację MySQL:* http://dev. mysql.com/doc/refman/5.0/en/stary-klient.html
* http://dev.mysql. com/doc/refman/5.0/en/password-hashing.html
* http://dev.mysql. com/doc/refman/5.0/en/set-password.html