Mysql
 sql >> Database >  >> RDS >> Mysql

Impossibile connettersi a MySQL 4.1+ utilizzando la vecchia autenticazione

modifica:questo vale solo se hai il controllo del server MySQL... se non dai un'occhiata a Metodo di hash della password MySQL vecchio vs nuovo

Prima verifica con la query SQL

SHOW VARIABLES LIKE 'old_passwords'

(nel client della riga di comando MySQL, HeidiSQL o qualsiasi front-end che ti piace) se il server è impostato per utilizzare il vecchio schema di password per impostazione predefinita. Se restituisce old_passwords,Off ti capita di avere vecchie voci di password in user tavolo. Il server MySQL utilizzerà la vecchia routine di autenticazione per questi account. Puoi semplicemente impostare una nuova password per l'account e verrà utilizzata la nuova routine.

Puoi controllare quale routine verrà utilizzata dando un'occhiata a mysql.user tabella (con un account che ha accesso a quella tabella)

SELECT `User`, `Host`, Length(`Password`) FROM mysql.user

Questo restituirà 16 per account con password precedenti e 41 per gli account con nuove password (e 0 per gli account senza password, potresti voler occuparti anche di quelle).
Utilizza gli strumenti di gestione degli utenti del front-end MySQL (se ce ne sono) oppure

SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;

(sostituisci User e Host con i valori che hai ottenuto dalla query precedente.) Quindi controlla di nuovo la lunghezza della password. Dovrebbe essere 41 ora e il tuo client (ad es. mysqlnd) dovrebbe essere in grado di connettersi al server.

vedere anche la documentazione di MySQL:* 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