In uno sfortunato caso in cui dimentichi o perdi la tua password di root MySQL, avrai sicuramente bisogno di un modo per recuperarla in qualche modo. Quello che dobbiamo sapere è che la password è memorizzata nella tabella degli utenti. Ciò significa che dobbiamo trovare un modo per aggirare l'autenticazione MySQL, in modo da poter aggiornare il record della password.
Fortunatamente c'è un facile da raggiungere e questo tutorial ti guiderà attraverso il processo di recupero o reimpostazione della password di root nella versione MySQL 8.0.
Secondo la documentazione di MySQL, ci sono due modi per reimpostare la password MySQL di root. Esamineremo entrambi.
Reimposta la password di root MySQL utilizzando –init-file
Uno dei modi per reimpostare la password di root è creare un file locale e quindi avviare il servizio MySQL utilizzando --init-file
opzione come mostrato.
# vim /home/user/init-file.txt
È importante assicurarsi che il file sia leggibile dall'utente mysql. All'interno di quel file incolla quanto segue:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
Nella precedente modifica "new_password ” con la password che desideri utilizzare.
Ora assicurati che il servizio MySQL sia interrotto. Puoi fare quanto segue:
# systemctl stop mysqld.service # for distros using systemd # /etc/init.d/mysqld stop # for distros using init
Quindi esegui quanto segue:
# mysqld --user=mysql --init-file=/home/user/init-file.txt --console
Questo avvierà il servizio MySQL e durante il processo eseguirà il file init che hai creato e quindi la password per l'utente root verrà aggiornata. Assicurati di eliminare il file una volta che la password è stata reimpostata.
Assicurati di arrestare il server e avviarlo normalmente.
# systemctl stop mysqld.service # for distros using systemd # systemctl restart mysqld.service # for distros using systemd # /etc/init.d/mysqld stop # for distros using init # /etc/init.d/mysqld restart # for distros using init
Ora dovresti essere in grado di connetterti al server MySQL come root usando la nuova password.
# mysql -u root -p
Reimposta la password principale di MySQL utilizzando –skip-grant-tables
La seconda opzione che abbiamo è avviare il servizio MySQL con --skip-grant-tables
opzione. Questo è meno sicuro poiché mentre il servizio viene avviato in questo modo, tutti gli utenti possono connettersi senza password.
Se il server è avviato --skip-grant-tables
, l'opzione per --skip-networking
viene attivato automaticamente, quindi le connessioni remote non saranno disponibili.
Per prima cosa assicurati che il servizio MySQL sia interrotto.
# systemctl stop mysqld.service # for distros using systemd # /etc/init.d/mysqld stop # for distros using init
Quindi avvia il servizio con la seguente opzione.
# mysqld --skip-grant-tables --user=mysql &
Quindi, puoi connetterti al server mysql semplicemente eseguendo.
# mysql
Poiché la gestione dell'account è disabilitata quando il servizio viene avviato con --skip-grant-tables
opzione, dovremo ricaricare le sovvenzioni. In questo modo potremo modificare la password in seguito:
# FLUSH PRIVILEGES;
Ora puoi eseguire la seguente query per aggiornare la password. Assicurati di cambiare "new_password" con la password effettiva che desideri utilizzare.
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';
Ora arresta il server MySQL e avvialo normalmente.
# systemctl stop mysqld.service # for distros using systemd # systemctl restart mysqld.service # for distros using systemd # /etc/init.d/mysqld stop # for distros using init # /etc/init.d/mysqld restart # for distros using init
Dovresti essere in grado di connetterti con la tua nuova password.
# mysql -u root -p
Potresti anche leggere questi utili articoli correlati a MySQL.
- Come installare MySQL 8 in CentOS, RHEL e Fedora
- 15 utili suggerimenti per l'ottimizzazione e l'ottimizzazione delle prestazioni di MySQL
- 12 pratiche di sicurezza MySQL per Linux
- 4 utili strumenti da riga di comando per monitorare le prestazioni di MySQL
- Comandi di amministrazione del database MySQL
Conclusione
In questo articolo hai imparato come reimpostare la password di root persa per il server MySQL 8.0. Spero che il processo sia stato facile.