Come reimpostare la password di root in MySQL 8.0
Nello sfortunato caso in cui dimentichi o perdi la password root di MySQL, avrai sicuramente bisogno di un modo per recuperarla in qualche modo. Ciò 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 è facile da ottenere e questo tutorial ti guiderà attraverso il processo di recupero o reimpostazione della password di root nella versione MySQL 8.0.
Secondo la documentazione MySQL, esistono 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 l'opzione --init-file
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';
In alto cambia "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 reimpostata la password.
Assicurati di arrestare il server e quindi 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 utilizzando la nuova password.
mysql -u root -p
Reimposta la password root di MySQL utilizzando –skip-grant-tables
La seconda opzione che abbiamo è avviare il servizio MySQL con l'opzione --skip-grant-tables
. Questo è meno sicuro poiché mentre il servizio viene avviato in questo modo, tutti gli utenti possono connettersi senza password.
Se il server viene avviato --skip-grant-tables
, l'opzione per --skip-networking
viene attivata automaticamente in modo che le connessioni remote non siano disponibili.
Innanzitutto 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 l'opzione --skip-grant-tables
, 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 ferma 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
Potrebbe interessarti anche leggere questi utili articoli relativi a MySQL.
- Come installare MySQL 8 in CentOS, RHEL e Fedora
- 15 utili suggerimenti per la regolazione e l'ottimizzazione delle prestazioni di MySQL
- 12 pratiche di sicurezza MySQL per Linux
- 4 utili strumenti a 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.