edit:dit is alleen van toepassing als je de MySQL-server onder controle hebt... als je geen kijkje neemt op Mysql-wachtwoord-hashmethode oud versus nieuw
Controleer eerst met de SQL-query
SHOW VARIABLES LIKE 'old_passwords'
(in de MySQL-opdrachtregelclient, HeidiSQL
of welke front-end u ook wilt) of de server standaard is ingesteld om het oude wachtwoordschema te gebruiken. Als dit old_passwords,Off
. oplevert je hebt toevallig oude wachtwoorden in de user
tafel. De MySQL-server gebruikt de oude authenticatieroutine voor deze accounts. U kunt eenvoudig een nieuw wachtwoord voor het account instellen en de nieuwe routine wordt gebruikt.
U kunt controleren welke routine zal worden gebruikt door een kijkje te nemen in de mysql.user
tafel (met een account die toegang heeft tot die tafel)
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
Dit geeft 16 . terug voor accounts met oude wachtwoorden en 41 voor accounts met nieuwe wachtwoorden (en 0 voor accounts zonder wachtwoord, wilt u daar misschien ook voor zorgen).
Gebruik de gebruikersbeheertools van de MySQL-frontend (als die er zijn) of
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;
(vervang User
en Host
met de waarden die u uit de vorige zoekopdracht hebt gekregen.) Controleer vervolgens de lengte van het wachtwoord opnieuw. Het moet 41 . zijn nu en uw client (bijv. mysqlnd) zou verbinding moeten kunnen maken met de server.
zie ook de MySQL-documentatie:* http://dev. mysql.com/doc/refman/5.0/en/old-client.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