Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🔑 Come cambiare la password di WordPress tramite phpMyAdmin: una guida passo passo

🔑 Come cambiare la password di WordPress tramite phpMyAdmin: una guida passo passo

Accesso al pannello di amministrazione WordPress perso. L'email non funziona e il messaggio di reset della password non arriva mai. Il pannello di controllo del sito è dietro un muro invalicabile e ogni minuto di inattività danneggia i visitatori e la tua reputazione.

Ti suona familiare? Non sei il solo. Guasti alla posta sull'hosting, perdita di accesso all'account email del proprietario, hacking dell'account: le cause sono innumerevoli, ma il risultato è sempre lo stesso. Lo scenario standard "Password dimenticata" è inutile.

Per fortuna esiste una soluzione alternativa. Ti basta accedere al database del sito tramite phpMyAdmin e sostituire manualmente l'hash della password. È più affidabile che aspettare un'email e richiede esattamente due minuti. Tratteremo tutti i metodi funzionanti, dal point-and-click alla riga di comando.

💡 Panoramica rapida:

  • Accedi a phpMyAdmin da cPanel o dal tuo pannello di hosting
  • Trova la tabella wp_users e modifica il campo user_pass usando la funzione MD5
  • Per fare prima, usa una query SQL su una sola riga
  • Con accesso SSH, reimposta la password via WP-CLI con un solo comando

Quando il reset standard della password è impotente

Il meccanismo standard di WordPress è semplice: nella pagina di login clicchi su "Password dimenticata?", inserisci il tuo nome utente o email e ricevi un link di reset. Funziona perfettamente finché l'email è operativa.

I problemi iniziano quando:

  • Non hai accesso all'account email collegato all'account utente (l'email amministratore è cambiata, la casella di posta è stata abbandonata);
  • L'hosting non invia email di sistema: la funzione mail() è disabilitata, SMTP non è configurato, l'email finisce nello spam o si perde;
  • Il sito è stato hackerato e l'attaccante ha cambiato sia l'email che la password dell'amministratore.

In tutti questi casi, l'unica via garantita è l'accesso diretto al database MySQL. phpMyAdmin è disponibile praticamente su ogni hosting: è di serie con cPanel, DirectAdmin, Plesk e ISPmanager. Non serve installare strumenti aggiuntivi.

Metodo 1: modifica manuale tramite l'interfaccia di phpMyAdmin

Il metodo più visivo. Adatto se lavori con il database per la prima volta e vuoi vedere esattamente cosa stai modificando.

Passo 1. Accedi a phpMyAdmin. Apri il pannello di controllo del tuo hosting (cPanel o simile), trova la sezione "Database" e clicca sull'icona di phpMyAdmin.

Passo 2. Seleziona il database del tuo sito. Nella colonna di sinistra c'è l'elenco dei database. Scegli quello che appartiene al tuo sito (se non ricordi il nome, controlla wp-config.php nella root del sito, il parametro DB_NAME).

Passo 3. Apri la tabella wp_users. Nell'elenco delle tabelle, trova la riga wp_users (il prefisso può variare: wp_ è quello predefinito, ma potrebbe essere wpxy_, site_ o qualsiasi altro impostato durante l'installazione). Clicca "Sfoglia".

Passo 4. Clicca "Modifica" accanto all'utente desiderato. Si aprirà un modulo con tutti i campi dell'account.

Passo 5. Sostituisci la password. Nel campo user_pass, cancella il vecchio hash e inserisci la tua nuova password. Nel menu a tendina "Funzione", seleziona MD5. Clicca "Esegui" in fondo al modulo.

Modifica del campo user_pass con funzione MD5 selezionata in phpMyAdmin

Fatto. La password è salvata nel database come hash MD5. Al primissimo login, WordPress riconoscerà il formato obsoleto, rifarà automaticamente l'hash della password con un algoritmo moderno (PasswordHash con salt e 256 iterazioni) e scriverà la versione rafforzata nel database. Non sono richieste azioni aggiuntive; il meccanismo di retrocompatibilità funziona dalla versione 2.5.

Metodo 2: reset rapido tramite query SQL

Lo stesso risultato, ma in un'unica azione. Comodo quando devi cambiare la password senza navigare tra righe e moduli.

Accedi a phpMyAdmin, seleziona il database del tuo sito e vai alla scheda SQL. Incolla la query:

1UPDATE `wp_users` SET `user_pass` = MD5('your-new-password') WHERE `user_login` = 'your-username';

Sostituisci your-new-password con la password effettiva e your-username con il login (il campo user_login nella tabella). Se il prefisso della tabella è diverso da wp_, correggilo nella query. Clicca "Esegui".

La query verrà eseguita all'istante. La meccanica è la stessa: MD5 nel database, aggiornamento automatico dell'hash al primo login.

Metodo 3: WP-CLI per chi ha dimestichezza con il terminale

Se WP-CLI è installato sul server (e su un VPS o server dedicato serio lo è quasi certamente), la password si cambia con un comando senza entrare in phpMyAdmin:

1wp user update your-login --user_pass=new-password

WP-CLI chiamerà direttamente wp_set_password() e la password verrà scritta immediatamente con l'hash moderno corretto, senza il passaggio intermedio MD5. Il comando non richiede di specificare il prefisso della tabella, non dipende dalla versione PHP e non tocca altri campi utente.

Se devi reimpostare la password dell'amministratore ma non ricordi il login, ottieni l'elenco degli utenti:

1wp user list --role=administrator

Poi passa il login necessario al comando wp user update.

Metodo 4: reset d'emergenza tramite il functions.php del tema

L'opzione più "d'emergenza" per quando non hai accesso al pannello di hosting ma puoi modificare i file del sito via FTP o tramite il file manager dell'hosting.

Aggiungi il seguente codice al functions.php del tema attivo **prima del tag di chiusura ?> (o alla fine del file se il tag non c'è):

1wp_set_password('new-password', 1);

Il numero 1 è l'ID utente (di solito 1 per l'amministratore creato durante l'installazione). Se l'amministratore ha un ID diverso, sostituisci il numero.

Salva il file e apri UNA VOLTA una pagina qualsiasi del sito. La password verrà impostata. Subito dopo, **cancella la riga dal **functions.php; se la lasci, la password verrà reimpostata a ogni caricamento di pagina.

Questo metodo è rozzo, ma aiuta quando gli altri non sono disponibili.

Questo video di 4 minuti mostra il percorso completo: dall'accesso a cPanel al salvataggio della nuova password nella tabella wp_users. Le posizioni dei pulsanti e dei menu a tendina sono chiaramente visibili; se l'interfaccia del tuo hosting è diversa, la logica generale rimane la stessa.

⁉️🤔 Domande frequenti

Perché proprio MD5, se questo algoritmo è considerato insicuro?

MD5 in phpMyAdmin è l'unica funzione di hash disponibile che WordPress capisce quando viene inserita direttamente nel database. Tuttavia, l'hash MD5 sarà memorizzato solo fino al primo login: il core del CMS controlla la password, vede il formato obsoleto e lo sostituisce in modo trasparente con PasswordHash, un algoritmo moderno con salt e 256 iterazioni. L'hash finale nel database è robusto. Qui MD5 è un ponte di trasporto, non un archivio permanente.

Cosa devo fare se il prefisso della tabella non è wp_ e non so quale sia?

Apri wp-config.php nella root del sito e trova la riga $table_prefix. Il valore di questa variabile è il prefisso. Se non hai accesso ai file, scorri l'elenco delle tabelle in phpMyAdmin: users termina sempre con _users, e il prefisso è visibile dalle tabelle vicine (_posts, _options e così via).

Posso fare a meno di phpMyAdmin se non voglio entrare nel database?

Sì, usa WP-CLI (metodo 3) o il reset via functions.php (metodo 4). WP-CLI richiede accesso SSH al server, mentre functions.php richiede FTP o il file manager dell'hosting. Se non hai nessuno dei due, phpMyAdmin resta l'unica opzione, ma svolge il lavoro in modo affidabile.

Questo metodo funziona se il sito gira su PHP 8+ e una versione recente di WordPress?

Sì. Tutti i metodi descritti funzionano sulle versioni attuali di WordPress e PHP. Il meccanismo di retrocompatibilità per gli hash MD5 non è stato rimosso dal core dalla versione 2.5, poiché troppi siti si aggiornano attraverso questa via. Anche la funzione MySQL MD5() non è andata da nessuna parte.

Ho cambiato la password, ma ancora non riesco ad accedere. Cosa c'è che non va?

Controlla tre cose. Primo: il campo user_login potrebbe avere spazi extra o errori di battitura; il login distingue tra maiuscole e minuscole per il layout della tastiera. Secondo: il sito potrebbe aver memorizzato nella cache la vecchia sessione, quindi apri la pagina di login in modalità incognito. Terzo: se è installato un plugin di sicurezza (Wordfence, Solid Security), potrebbe bloccare l'accesso per IP dopo diversi tentativi falliti. Aspetta 15 minuti o reimposta il blocco tramite lo stesso database nella tabella del plugin.

Perdere la password non è una catastrofe se conosci la soluzione alternativa

phpMyAdmin sembra intimidatorio per chi non ha mai guardato dentro un database. Ma cambiare la password di WordPress attraverso di esso è un'operazione da tre clic e un menu a tendina. Una volta che la padroneggi, non resterai mai più bloccato davanti alla schermata di login.

Se il tuo sito è su un hosting tradizionale, il tuo strumento è phpMyAdmin (metodo 1 o 2). Se hai un VPS o un server dedicato con accesso alla console, WP-CLI (metodo 3) farà più in fretta. E anche quando il pannello di hosting non è disponibile e hai solo l'FTP, functions.php (metodo 4) ti salverà. Scegli il percorso che hai a disposizione ora e riprendi il controllo del tuo sito in due minuti.