So che ci sono state molte domande sollevate con la stessa preoccupazione della mia, ma spero che tu possa aiutarmi a trovare un'altra soluzione per questo.Impossibile connettersi a MySQL 4.1+ utilizzando la vecchia autenticazione non protetta
Stiamo usando Symfony 2.5.10, PHP 5.4.44 e MySQL 4.1.20 per il nostro progetto.
Ogni volta che tento di accedere al sistema o ogni atto che verte la connessione al database (ad esempio l'aggiunta di nuovi utenti utilizzando i comandi FOS), ricevo questo errore:
SQLSTATE[HY000] [2000] mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file
Abbiamo già provato a installare old_passwords
in my.cnf
a 0, riavviare mysql, impostare una nuova password per l'utente mysql e riavviare mysql nuovamente ma sempre lo stesso. E ogni volta che si corre questo nella finestra di query:
SELECT user, Length(Password) FROM mysql.user;
mostra ancora 16 come la lunghezza della password dell'utente che stiamo usando. E anche quando si controllano le variabili e le impostazioni del server mysql, old passwords
è ON (anche se abbiamo già impostato old_password su 0 in my.cnf).
Cosa c'è di sbagliato in questo? Apprezzerei molto il tuo aiuto.
Aggiornamento: Per il frattempo, rimuoveremo la password dell'utente di db per consentirci di accedere al database. Ma sto ancora cercando altre soluzioni poiché quelle soluzioni che ho trovato in rete (come la rimozione o il commento di old_passwords=1
in my.cnf, l'impostazione di old_passwords su 0 e l'impostazione di nuova password e il riavvio) non hanno funzionato per me.
Un altro aggiornamento: Comunemente, la soluzione per questo problema sarebbe l'impostazione old_passwords
off in MySQL, ma poi, come accennato nel PHP documentation,
the new mysqlnd library does not read mysql configuration files (my.cnf/my.ini).
Quindi questo significa che l'impostazione old_passwords
al 0 my.cnf
non ha senso? Non ho ancora trovato la soluzione a questo problema.
Abbiamo bisogno di un aggiornamento in una delle piattaforme utilizzate? Grazie in anticipo per l'aiuto.
Possibile un duplicato di http://stackoverflow.com/questions/1575807/cannot-connect-to-mysql-4-1-using- vecchia autenticazione – Stafox
Hai eseguito 'FLUSH PRIVILEGES;'? – Stafox
Si prega di fare riferimento a http://stackoverflow.com/questions/1575807/cannot-connect-to-mysql-4-1-using-old-authentication –