Hai dimenticato il tuo database MySQL root
password utente? Nessun problema! Questa guida passo passo spiega come reimpostare la password di root in MySQL 8 sul sistema operativo Ubuntu 20.04.
Nota: Come forse già saprai, l'utente root MySQL utilizza auth_socket
plug-in per l'autenticazione con il server MySQL nei sistemi Ubuntu che eseguono MySQL 5.7 e versioni successive. Quindi puoi accedere al server MySQL come root
utente con sudo mysql
comando fintanto che conosci il sudo
dell'utente del tuo sistema parola d'ordine. In tal caso, non è necessario modificare la root
di MySQL parola d'ordine. Se hai già modificato il metodo di autenticazione per la radice di MySQL utente a caching_sha2_password
o mysql_native_password
, segui i passaggi seguenti per reimpostare la root
password del database MySQL.
Reimposta la password di root in MySQL 8 su Ubuntu Linux
1. Innanzitutto, arresta il servizio MySQL utilizzando il comando:
$ sudo systemctl stop mysql
Questo arresterà il servizio MySQL se è in esecuzione. Puoi verificare lo stato del servizio MySQL con il comando:
$ sudo systemctl status mysql
Risultato di esempio:
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: inactive (dead) since Mon 2021-05-31 11:01:15 UTC; 1min 15s ago Process: 1446 ExecStart=/usr/sbin/mysqld (code=exited, status=0/SUCCESS) Main PID: 1446 (code=exited, status=0/SUCCESS) Status: "Server shutdown complete" May 31 07:57:50 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server… May 31 07:57:51 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server. May 31 11:01:14 ubuntu2004.localdomain systemd[1]: Stopping MySQL Community Server… May 31 11:01:15 ubuntu2004.localdomain systemd[1]: mysql.service: Succeeded. May 31 11:01:15 ubuntu2004.localdomain systemd[1]: Stopped MySQL Community Server.
2. Quindi, avvia il server MySQL senza alcun controllo dei permessi. Per farlo, esegui:
$ sudo systemctl edit mysql
Questo aprirà il mysql
systemd
file di configurazione il tuo editor di testo predefinito. Nel mio caso, è nano
editore.
Aggiungi le seguenti righe:
[Service] ExecStart= ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking
Dopo aver aggiunto le righe precedenti, premi CTRL+O
e ENTER
per salvare il file e quindi premere CTRL+X
per chiuderlo.
Qui, il --skip-grant-tables
l'opzione consente di connettersi al server di database MySQL senza password e con tutti i privilegi. Disattiverà anche le dichiarazioni di gestione dell'account come ALTER USER
e SET PASSWORD
. E il --skip-networking
viene utilizzata per impedire agli altri client di connettersi al server di database. Poiché disabilita tutte le connessioni remote, nessuno dei client remoti può accedere al server del database finché non riavvii normalmente il server del database.
3. Ricarica systemd
configurazione utilizzando il comando:
$ sudo systemctl daemon-reload
4. Avvia il servizio MySQL:
$ sudo systemctl start mysql
Questo avvierà il server MySQL con --skip-grant-table
se --skip-networking
opzioni. Puoi verificarlo controllando lo stato del servizio MySQL:
$ sudo systemctl status mysql ● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/mysql.service.d └─override.conf Active: active (running) since Mon 2021-05-31 11:39:18 UTC; 1min 23s ago Process: 1882 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS) Main PID: 1905 (mysqld) Status: "Server is operational" Tasks: 36 (limit: 2280) Memory: 331.0M CGroup: /system.slice/mysql.service └─1905 /usr/sbin/mysqld --skip-grant-tables --skip-networking May 31 11:39:16 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server… May 31 11:39:18 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.
5. Ora connettiti al server MySQL come root
utente senza password:
$ sudo mysql -u root
Verrai immediatamente reindirizzato al prompt della shell MySQL.
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu) Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
6. Abbiamo effettuato l'accesso al server del database senza caricare le tabelle di concessione (perché abbiamo usato --skip-grant-tables
opzione). Quindi non possiamo usare ALTER USER
comando di cui aveva bisogno per reimpostare la password. Per caricare le tabelle di concessione, esegui il seguente comando dal prompt della shell di MySQL:
mysql> FLUSH PRIVILEGES;
7. Quindi, esegui uno dei seguenti comandi per ripristinare MySQL root
password.
Se stai usando caching_sha2_password
plug-in, esegui:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Password123#@!';
Se usi mysql_native_password
plug-in, esegui invece questo:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password123#@!';
Sostituisci Password123#@!
con il tuo.
Dopo aver modificato la root
di MySQL password, esci dal prompt della shell MySQL:
mysql> exit
8. Ripristina il systemd
modificato ripristinare le impostazioni normali utilizzando il comando:
$ sudo systemctl revert mysql
Questo rimuoverà tutti i file modificati.
Removed /etc/systemd/system/mysql.service.d/override.conf. Removed /etc/systemd/system/mysql.service.d.
9. Ricarica systemd
configurazione per rendere effettive le modifiche:
$ sudo systemctl daemon-reload
10. Infine, riavvia normalmente il server MySQL:
$ sudo systemctl restart mysql
11. Ora dovresti essere in grado di connetterti al database MySQL come root
utente con il new password
usando il comando:
$ mysql -u root -p
Inserisci la root
password per accedere al prompt della shell MySQL:
mysql>
C'è anche un altro modo per cambiare MySQL root
password in Linux. È leggermente diverso da questo metodo. Se sei interessato a sapere, dai un'occhiata al seguente link:
>> How To Reset MySQL Root User Password In Linux
Conclusione
Come puoi vedere, reimpostare la password di root di MySQL è facile! Se hai seguito attentamente i passaggi precedenti, puoi recuperare la password di root del database MySQL in un paio di minuti. Non perderlo di nuovo. Memorizza o salva la tua password in un luogo sicuro.