Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [PHP5.3] Errore connessione MySQL

    Salve,

    ho aggiornato il mio mac al 10.6 (quindi si è preso PHP 5.3 ) e ora ho problemi a connettermi a MySQL (quando stamane funzionava tutto)..

    ecco il messaggio d'errore

    codice:
     cannot connect to MySQL 4.1+ using old authentication
    ho letto che PHP 5.3 utilizza un driver nuovo per le connessioni a MySQL.

    Ho letto in qualche forum che bisogna aggiornare la password all'utente (cosa che non voglio fare perchè in uso anche su altri client via ODBC).. se genero un nuovo utente il problema si risolve?

    Devo creare delle password con qualche tipo di accorgimento?

    Prima di mettermi a creare utenti superflui vorrei sapere se c'è qualche altro workaround possibile..

    Grazie!
    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

  2. #2
    Vecchio annoso problema. La codifica (hashing) della password effettuata con il vecchio client su php era di 16byte, quella nuova e' di 40 byte.

    Quindi ti trovi che ora la tua password viene inviata come striga a 40 byte mentre su db la trovi a soli 32 byte. Verifica se e' questo il problema.

    leggi la pillola di Marketto che venne dalla truppa php stimolato a scriverla causa la pletora di richieste arrivate su questo argomento.

    http://forum.html.it/forum/showthrea...hreadid=815253

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Ok, ho letto il thread e penso di aver capito..

    la versione di MySQL installata sul server conserva le pwd con l'hash 'vecchio' a 32byte, il client MySQL di PHP 5.3 usa un client che invia la pwd a 40.. a questo punto però non posso permettermi di modificare l'utente sul server DB perchè in uso da client (e da un sito web) che invece si connettono correttamente.

    Mi chiedo se, generando un secondo utente sul server, il problema possa arrivare a una soluzione..

    Il fatto è che MySQL non è stato aggiornato da stamattina, solo la versione di PHP su un serverino Mac.
    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

  4. #4
    Originariamente inviato da AnFrusch@pepp
    Ok, ho letto il thread e penso di aver capito..

    la versione di MySQL installata sul server conserva le pwd con l'hash 'vecchio' a 32byte, il client MySQL di PHP 5.3 usa un client che invia la pwd a 40.. a questo punto però non posso permettermi di modificare l'utente sul server DB perchè in uso da client (e da un sito web) che invece si connettono correttamente.

    Mi chiedo se, generando un secondo utente sul server, il problema possa arrivare a una soluzione..
    l'hash vecchio era a solo 16 digit exadecimali.

    La versione mysql 4.1 e superiore (forse 4.1.3) con la funzione password() genera un hash a 40 byte. Pero' conosce la funzione OLD_PASSWORD() che la genera a 16.

    Quindi se il php precedente generava una password a 16 byte con mysql 4.1.nn dovevi delle due o generare la password con old_password() su mysql oppure arrivare alla versione 4.1 da un backup di mysql precedente che gia' l'aveva tale (a 16)

    Ora se tu hai il php 5.3 e la versione mysql 4.1 gia' la vedo dura come compatibilita' visto che l'ideale sarebbe avere mysql 5.1 col php 5.3. Tieni presente che oltre alle password cambia anche il modo (il driver appunto) di gestire il client tra php 5.3 e mysql e non solo quello.

    Credo che la situazione ottimale sarebbe di aggiornare mysql alla 5.1 (devi eseguire tutti gli step di versione per l'aggiornamento) lasciando le vecchie password e creando nuovi utenti con la nuova password da dedicare al php.

    Non ti conviene lasciare "invecchiare" troppo la versione mysql perche' comunque non ti risparmi nulla negli aggiornamenti ma ti complicherai parecchio la vita nell'eseguirli.

    Fai una prova: verifica creando un nuovo utente se password() genera un hash a 16 oppure 40 byte exa. Se lo crea a 40 byte, allora puoi provare a connettere il php 5.3 a questo nuovo utente mysql.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Allora, la versione di MySQL è la 5.0.77 (non mi sembra troppo vecchia), il PHP abbiamo detto è il 5.3.
    Ora, gli utenti che provavo a usare erano stati creati in una versione precedente di MySQL e trasportati (ora non ho gestito io la cosa quindi non so come funzioni l'upgrade) in questa nuova versione.

    Ho provato a creare un utente nuovo (si sa mai..) ma il problema persiste..

    Ho provato a resettare la password usando SET PASSWORD FOR etc.. e impostando nell'ordine PASSWORD('miapassword') e OLD_PASSWORD('miapasword')

    stesso errore iniziale-
    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

  6. #6
    Il client mysql installato sul php 5.3 ha problemi di compatibilita' con la versione 5.0 di mysql.

    Siccome so di alcuni work-around per rendere compatibili queste due versioni e non essendo assolutamente favorevole a condizioni personalizzate, estemporanee e provvisorie per quanto mi riguarda ho assunto che:

    1) php 5.2.12 e inferiori vanno a braccetto con mysql 5.0.x
    2) php 5.2.13 e .14 possono stare sia con mysql 5.0 che con mysql 5.1
    3) php 5.3.x solo con 5.1.x

    Ovviamente non e' una regola generale e' in molti potranno dare indicazioni differenti. Per me e' una regola e basta.

    Se non ti connetti con i due tipi di password significa che il problema sta nel manico, cioe' i driver vedi il punto 3) qui sopra. Ma fai anche in fretta a verificare direttamente sulla tabella mysql come sono settate le password.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    ho risolto installando una versione alternativa di PHP (la 5.2) in /opt/local/bin, di fatto è un problema che è stato riscontrato da altri utenti SnowLeopard quindi c'era un po' di materiale in giro.
    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.