Errore 1045 (28000) accesso negato per utente root localhost (risolto)
Pubblicato: 2023-03-14"Errore 1045 (28000) accesso negato per l'utente root localhost" è un errore che si verifica comunemente quando si tenta di accedere a MySQL tramite il CMS di WordPress. Tuttavia, questo errore può verificarsi anche in altre situazioni.
L'errore che riscontri suggerisce che l'utente “root” non possiede le autorizzazioni necessarie per accedere al database da localhost. Le ragioni alla base di questo problema possono essere molteplici, tra cui una password errata, un nome utente errato o autorizzazioni inadeguate concesse all'utente.
Ecco alcuni passaggi che puoi eseguire per risolvere questo errore
1. Controlla il nome utente e la password
Assicurati di utilizzare il nome utente e la password corretti. Il nome utente dovrebbe essere "root" e la password dovrebbe essere quella impostata durante il processo di installazione.
Se stai usando WordPress devi controllare il tuo file wp-config.php . Il file si trova nella cartella principale di WordPress.
Dopo aver aperto il file e provato a modificarlo (Visual Studio Code) avrai questa schermata:
Controllare DB_USER e DB_PASSWORD se hanno i valori corretti
/** Database username */ define( 'DB_USER', 'root' );
/** Database password */ define( 'DB_PASSWORD', 'root' );
Se non sai qual è il tuo nome utente e password per il DB, accedi a cPanel> Database> Mysql e controlla.
Per modificare la password del database di WordPress, segui il tutorial: Cambia la password di WordPress in PHPMyAdmin
2. Verificare se l'utente dispone dei privilegi richiesti
Verificare se l'utente “root” dispone dei privilegi necessari per accedere al database.
Step1: Innanzitutto, devi aprire il tuo terminale e scrivere ssh [email protected]
ssh [email protected]
Passaggio 2: dopo aver eseguito correttamente l'accesso, annotare questo comando
mysql -uroot -p
Step3: Dopo aver aggiunto la tua password puoi iniziare ad aggiungere il tuo comando dal prompt di mysql
Passaggio 4: è possibile utilizzare il seguente comando per verificare i privilegi:
SHOW GRANTS FOR 'root'@'localhost';
Questo ti mostrerà l'elenco dei privilegi che l'utente "root" ha per il server "localhost". Se l'utente non dispone dei privilegi necessari, è possibile concederli utilizzando il seguente comando:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password';
Nota: sostituisci "password" con la password che desideri utilizzare.
Per verificare se l'utente dispone dei privilegi richiesti utilizzando phpMyAdmin, attenersi alla seguente procedura:
- Accedi al tuo account phpMyAdmin.
- Fare clic sulla scheda "Account utente".
- Seleziona sull'utente root (o quello a cui vuoi cambiare la password)
- Fare clic sul collegamento Modifica privilegi
- Qui puoi vedere l'elenco dei privilegi concessi all'utente.
- Assicurarsi che all'utente siano stati concessi i privilegi necessari per accedere al database.
- Se l'utente non dispone dei privilegi richiesti, è possibile concederli selezionando le caselle di controllo pertinenti e facendo clic sul pulsante "Vai".
- Dopo aver concesso i privilegi richiesti, prova ad accedere nuovamente al database per vedere se il problema è stato risolto.
Le impostazioni nell'area evidenziata dovrebbero essere controllate:
Nota: se non sei in grado di concedere i privilegi necessari tramite phpMyAdmin, potrebbe essere necessario accedere all'interfaccia della riga di comando di MySQL per concedere i privilegi.
3. Controlla lo stato del server MySQL
Assicurati che il server MySQL sia in esecuzione. È possibile controllare lo stato del server eseguendo il seguente comando dopo l'accesso nella shell del server:
systemctl status mysql
Se il server non è in esecuzione, avvialo utilizzando il seguente comando:
systemctl start mysql
Per controllare lo stato di Mysql sull'hosting cPanel devi accedere alla tua dashboard di hosting. Un altro modo è contattare direttamente il tuo provider di hosting.
4. Controlla se il server MySQL è in ascolto sulla porta corretta
Assicurati che il server MySQL sia in ascolto sulla porta corretta. La porta predefinita per MySQL è 3306 .
Per verificare se il server MySQL è in ascolto sulla porta corretta, puoi seguire questi passaggi:
1. Apri un terminale o un prompt dei comandi sul tuo server dove è installato MySQL.
2. Connettersi al server MySQL utilizzando il client della riga di comando. Puoi utilizzare il seguente comando, sostituendo username
e password
con le tue credenziali MySQL effettive:
mysql -u username -p
3. Una volta connesso al server MySQL, digita il seguente comando per visualizzare il numero di porta su cui è in ascolto il server MySQL:
SHOW VARIABLES LIKE 'port';
Questo comando visualizzerà il numero di porta su cui è in ascolto il server MySQL. Per impostazione predefinita, MySQL è in ascolto sulla porta 3306.
Puoi anche controllare il numero di porta nel file di configurazione di MySQL.
Il file di configurazione si chiama solitamente my.cnf
o my.ini
e si trova nella directory di installazione di MySQL.
Per trovare la directory di installazione di MySQL, puoi seguire questi passaggi:
1. Apri un terminale o un prompt dei comandi sul tuo server dove è installato MySQL.
2. Digita il seguente comando per verificare se MySQL è installato:
which mysql
Se MySQL è installato, questo comando mostrerà il percorso del file eseguibile mysql
altrimenti riceverai un messaggio di errore.
Se MySQL è installato, puoi utilizzare nuovamente il comando which
per trovare la directory di installazione. Digita il seguente comando, sostituendo /path/to/mysql
con il percorso del file eseguibile mysql
:
which mysql | xargs readlink -f | sed "s|bin/mysql$||"
Questo comando visualizzerà la directory di installazione di MySQL. È possibile utilizzare questa directory per individuare il file di configurazione MySQL ( my.cnf
o my.ini
) e altri file e directory MySQL.
In alternativa, se hai accesso al client MySQL, puoi anche eseguire la seguente query per trovare la directory di installazione di MySQL:
SELECT @@basedir;
Verrà visualizzata la directory di installazione di MySQL.
Puoi anche controllare il file di configurazione di MySQL per verificare il numero di porta su cui MySQL è configurato per l'ascolto. Il file di configurazione si chiama solitamente my.cnf o my.ini e si trova nella directory di installazione di MySQL.
Apri il file di configurazione con un editor di testo e cerca il parametro della porta. Il valore di questo parametro specifica il numero di porta su cui MySQL è configurato per l'ascolto.
Se il server MySQL non è in ascolto sulla porta corretta, è possibile modificare il parametro della porta nel file di configurazione e riavviare il server MySQL per applicare le modifiche.
Non dimenticare di riavviare il servizio Mysql se hai cambiato la porta:
service mysql restart
5. Reimpostare la password di root
Se nessuno dei passaggi precedenti funziona, puoi provare a reimpostare la password di root. Puoi farlo seguendo i passaggi in questo articolo:
https://dev.mysql.com/doc/refman/8.0/en/reimpostazione-permessi.html
Nota: questo metodo richiede l'accesso al file di configurazione di MySQL e la possibilità di riavviare il server MySQL.
Potrebbe interessarti leggere:
Come risolvere l'errore "Installazione non riuscita: impossibile creare la directory" su WordPress
Come risolvere WordPress bloccato in modalità manutenzione (RISOLTO)
Come risolvere "Aggiornamento non riuscito. La risposta non è una risposta JSON valida"
Come risolvere "Errore durante la creazione di una connessione al database"? – 2023
In qualità di uno dei co-fondatori di Codeless, metto in campo l'esperienza nello sviluppo di WordPress e applicazioni web, oltre a una comprovata esperienza nella gestione efficace di hosting e server. La mia passione per l'acquisizione di conoscenze e il mio entusiasmo per la costruzione e la sperimentazione di nuove tecnologie mi spingono a innovare e migliorare costantemente.