Magento2: Come risolvere l'errore "main.CRITICAL: SQLSTATE[HY000] [1045] Access denied for user..."

27 Settembre 2021

Se ti sei imbattutto in questo articolo è perchè anche a te è capitato di imbatterti nell'errore
" main.CRITICAL: SQLSTATE[HY000] [1045] Access denied for userxxxxx (using password: YES) {"exception":"[object] (Zend_Db_Adapter_Exception(code: 1045)..."

E bene, l'errore che vedi sopra è abbastanza comune ed è facilmente risolvibile in pochi passi. Questo errore si presenta su Magento2 molto spesso dopo una migrazione di Hosting o dopo una variazione della configurazione lato Server.

Cosa causa l'errore main.CRITICAL: SQLSTATE[HY000] [1045] Access denied for user… ?

L'errore è molto facile da interpretare ed è poco equivocabile: Magento non riesce ad accedere al Database che gli è stato indicato nel file di configurazione ( ricordo, il file env.php ). Per tale motivo potresti vedere a schermo un classico errore 500 del Server o se abilitate, direttamente l'errore sopra riportato. In Alternativa avrai sicuramente trovato l'errore nel tuo system/error.log di Magento.

Come risolvere main.CRITICAL: SQLSTATE[HY000] [1045] Access denied for user… ?

Come dicevo sopra, l'errore è molto semplice e facile da interpretare. Ed è altrettanto semplice risolvere il problema.
Tutto quello che dovrai fare è verificare quanto ti riporto sotto:

  • Verifica Username database, nome Database e Password utente database del tuo Database.
    Spesso, soprattutto dopo una migrazione, potrebbe capitare di dimenticarsi di modificare le credenziali di accesso al database e questo potrebbe mandare in errore Magento che, con credenziali errate prova invano a collegarsi al Mysql. Fai molta attenzione anche al copia-incolla, spesso ci trasciniamo uno spazio di troppo o un carattere in meno.
  • Verifica che le credenziali del Database siano effettivamente funzionanti.
    Se pensi di aver inserito tutto correttamente, verifica tu stesso che le credenziali inserite funzionino. Spesso può capitare di aver segnato le credenziali errate.
    Per far ciò ti basterà collegarti al PHPMyAdmin del tuo server e provare ad autenticarti. In alternativa chiedi supporto al tuo Hosting
  • Verifica l'Host e porta del database
    Altra cosa molto importante, è verificare di aver inserito correttamente l'Host del database; spesso, nei casi in cui il tuo Mysql è sullo stesso server dell'installazione magento, ti basterà inserire come Host "localhost" ( o 127.0.0.1 ). Ricordati di specificare anche la porta nel caso in cui sia diversa da quella di default 3306

Fatti questi controlli sopra riportati, dovresti essere in grado di individuare il problema e risolverlo facilmente. Per verificare che sia tutto funzionante ti basterà pulire la cache del tuo browser e ricaricare la pagina. O in alternativa collegarti da SSH al tuo magento2 e provare a lanciare un comando qualsiasi, come ad esempio "php bin/magento module:status".

Se l'operazione andrà a buon fine e non ti restituirà errori, allora vuol dire che ora il Database è collegato correttamente.
Un ulteriore consiglio che posso darti, al termine di ogni modifica pulisci la cache di Magento o elimina la cartella in /var/cache così da non vedere dal browser errori vecchi salvati in cache.

Consulente esperto IT ed imprenditore digitale.
Mi occupo di consulenza digitale ed IT per professionisti affermati e grandi Aziende sul territorio nazionale che vogliono rendere Affidabile e Sicura la loro presenza Online.

Vuoi ottimizzare le Performance e Costi dell'Hosting del tuo E-commerce?

Stanco dei soliti problemi di Performance del tuo E-commerce? Hai un E-commerce lento con Punteggio Google Pagespeed ridicolo?
Contattami ora, riceverai GRATIS entro 24 ore, una prima analisi professionale del tuo Sito web e ti mostrerò come risolvere i tuoi problemi di Performance ed aumentare il tuo Punteggio Google Pagespeed.
Form pag articolo
wpChatIcon
wpChatIcon
crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram