Accesso mysql negata per l'utente 'root'@'localhost'

Accesso mysql negata per l'utente 'root'@'localhost'
"Uno degli errori più comuni riscontrati dagli utenti MySQL è" MySQL Access negata per l'utente "root"@"localhost"."E se sei un nuovo utente MySQL o un Newb, conoscere le varie tecniche per risolverlo è vantaggioso.

Usando questa guida, scoprirai tre metodi per risolvere questo errore."

Cosa significa questo errore?

Il modo migliore per capire questo errore è di scomporlo in singoli componenti. Questo errore si verifica quando si tenta di accedere alla tua istanza MySQL sulla macchina locale, quindi LocalHost.'

Un esempio è come mostrato:

$ mysql -u root -p

I componenti dell'errore sono i seguenti:

  1. Errore 1045 (28000) - Si riferisce rispettivamente al codice di errore e al SQLSTATE. Ad esempio, in MySQL e MARIADB, il codice di errore 1045 indica l'accesso negato per quel nome utente con la password specificata.
  2. Il secondo è la stringa del messaggio. Il messaggio di errore segue il formato: Accesso negato per l'utente '%s'@'%s' (utilizzando la password:%s).

Nota: il primo %s nel messaggio di errore si riferisce al nome utente, mentre il secondo si riferisce all'host.

Soluzione 1: sudo in mysql

Il primo e più comune metodo per risolvere questo errore è sudo nell'istanza mysql e impostare l'auth_plugin su mysql_native_password.

Apri il tuo terminale ed esegui:

$ sudo mysql

Immettere la password per l'account e procedere.

Quindi, modifica l'auth_plugin e imposta una nuova password per l'account root come mostrato:

Altera l'utente 'root@localhost' identificato con mysql-native_password mediante 'password';

La modifica del plug -in di autenticazione ti consentirà di accedere al server.

Successivamente, scaricare i privilegi per aggiornare le tabelle delle sovvenzioni:

Privilegi a filo;

Infine, esci dal terminale e prova il tuo accesso:

$ mysql -u root -p

Soluzione 2- Modifica manualmente il file di configurazione

Se l'errore persiste, potrebbe essere necessario modificare il file di configurazione MySQL. Nella maggior parte dei casi, è sotto il nome mio.CNF nelle directory /etc o /etc /mysql.

Individua questo file nella cartella di installazione MySQL per gli utenti Windows e Mac.

Se il file non esiste, crealo.

Apri il file con il tuo editor di testo e individua il blocco mysqld.

$ nano/etc/mysql/mio.Cnf

Sotto il blocco [mysqld], aggiungi la seguente voce.

saltare i tavoli da rango

Chiudi e salva il file.

Successivamente, riavvia il server MySQL e accedi.

$ sudo servizio mysql riavvio
$ mysql -u root -p

Una volta effettuato l'accesso, scaricare i privilegi e impostare una nuova password:

Privilegi a filo;
Altera l'utente 'root@localhost' identificato da 'password';

Assicurati di sostituire il comando sopra con una password sicura.

Una volta completato, modifica il mio.file CNF e rimuovere la voce che abbiamo aggiunto in precedenza.

Riavvia il server MySQL e accedi con la tua nuova password.

Soluzione 3 - Avviare MySQL in modalità provvisoria

MySQL ti fornisce l'utilità MySQLD_SAFE per l'avvio del server MySQL. Questa utilità ci consente di specificare funzionalità sicure all'avvio e al riavvio del server per diagnosticare errori.

Inizia interrompendo il server MySQL.

$ sudo servizio mysql stop

Successivamente, avvia MySQL senza autenticazione come;

$ mysqld_safe--skip-Grant-tables &

Il comando avvia il server in background come lavoro.

Una volta che il demone è in esecuzione (con autenticazione disabilitata), apri un nuovo terminale ed esegui:

$ mysql -u root -p

Il comando sopra dovrebbe consentire di accedere senza una password.

Una volta effettuato l'accesso, scaricare i privilegi e impostare una nuova password come:

Privilegi a filo;
Altera l'utente 'root@localhost' identificato da 'password';

Chiudi la sessione e riavvia mysql.

Ora accedi al tuo server con la tua nuova password.

Chiusura

In questo articolo, abbiamo coperto tre metodi principali per risolvere il

"MysQL Access Negato per l'utente 'root@localhost'" Errore.

Speriamo che questo tutorial ti abbia aiutato a risolvere questo errore.