MySQL è uno dei più diffusi sistemi di gestione di database per applicazioni web. MySQL ha una password di root o una password di livello amministratore, proprio come molti servizi web. Le password di root consentono agli utenti di eseguire qualsiasi funzione di primo livello in un database.
Durante la configurazione di MySQL, si consiglia di impostare una password di root per il database per motivi di sicurezza. Tuttavia, ciò non significa che non sia possibile utilizzare MySQL senza una password di root. Sta a te pensare all'attività da svolgere e decidere se impostare una password di root o meno.
Reimpostazione della password di root MySQL
Ci sono molte domande poste dagli utenti MySQL su "Come reimpostare la password di root MySQL". Se avevi impostato una password di root ma purtroppo ne hai perso le tracce, questo articolo tutorial ti guiderà attraverso il processo di reimpostazione della password di root sia su Linux che su Windows.
Prerequisiti
- Database MySQL esistente
- Privilegi di amministratore sul PC che ospita il database MySQL
- Accesso a server Windows o Linux con MySQL
- Interfaccia della riga di comando o accesso al terminale
- Un editor di testo. (Non preoccuparti poiché gli utenti Windows hanno Blocco note installato per impostazione predefinita sui loro computer mentre gli utenti Linux hanno preinstallato vim).
Una volta che hai tutti i prerequisiti menzionati, andiamo avanti e impariamo come reimpostare o modificare la password di root di MySQL.
Faremo questo processo su due fronti:
- Come reimpostare la password di root MySQL in Linux
- Come reimpostare la password di root MySQL in Windows
1. Come reimpostare la password di root MySQL in Linux
Fase 1:accedi a MySQL
Quando si esegue l'avvio nel sistema operativo Linux, è essenziale accedere allo stesso utente che di solito esegue MySQL. Questo è fondamentale per evitare errori come la creazione di file di proprietà dell'utente root, che potrebbero causare danni al sistema. Tuttavia, potresti anche accedere come utente root una volta avviato il tuo server MySQL. Per fare ciò, assicurati di avviare MySQL utilizzando la sintassi seguente.
user=fosslinux
Fase 2:Trovare il file .pid utilizzato dal servizio MySQL
Il passaggio successivo è individuare il file .pid. Nella maggior parte dei sistemi Linux, sono archiviati in questa posizione:
/var/lib/mysql or /var/run/mysqld/ or /usr/local/mysql/data/.
Poiché non tutti i sistemi Linux sono uguali, puoi provare uno qualsiasi dei percorsi sopra menzionati e vedere se riesci a individuare il file. Per trovare rapidamente il file, puoi restringere la ricerca ai file che iniziano con mysqld (o il tuo nome host) e termina con .pid.
Nota: La ricerca del file semplificherà il processo; quindi ti consigliamo di provarlo.
Una volta trovato il file, ora procedi al passaggio successivo
Fase 3:eliminazione del processo mysqld / .pid
Prima di reimpostare o creare una nuova password di root, dobbiamo prima arrestare il server MySQL. Questo può essere fatto aprendo il terminale ed eseguendo la riga di comando seguente:
kill `cat /mysql-data-directory/host_name.pid`
Nota: Sostituisci la directory-dati-mysql/nome_host.pid con il nome del file trovato nel passaggio 2. Inoltre, è fondamentale specificare l'intero percorso del file per evitare errori.
Suggerimento aggiuntivo: Assicurati sempre di utilizzare il tasto del segno di spunta indietro invece di un tasto con virgolette singole. Il tasto back-tick si trova sopra il tasto tab sulla maggior parte dei computer e prima del tasto numerico.
Fase 4:creazione di un nuovo file della password di root
Ora è il momento di aprire il tuo editor di testo preferito. Per il nostro caso, utilizzeremo l'editor di testo Vim. Apri il terminale usando la scorciatoia CTRL + ALT + T, quindi esegui il comando seguente:
sudo vim mysql-init
Nota:se ricevi un errore dopo aver eseguito il comando sopra, esegui questo comando per procedere con gli altri processi:
sudo apt install vim
Ora aggiungi la riga sottostante nel file:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Nota: Quando si digita manualmente la riga sopra nel terminale, ricordarsi di includere tutti i punti e virgola e le virgolette singole. Inoltre, sostituisci "NewPassword ” frase con la nuova password che si desidera utilizzare. Infine, assicurati di utilizzare una password forte e sicura o fai riferimento qui per scoprire come generare una password casuale forte su Linux.
Il comando precedente funzionerà solo sulla macchina host che stai utilizzando durante l'esecuzione del comando. Tuttavia, se si prevede di connettersi a un sistema diverso, si consiglia di sostituire localhost con il nome host pertinente o piuttosto appropriato affinché il comando funzioni. Se non lo fai, riscontrerai degli errori.
Dopo aver aggiunto il nuovo file al tuo editor di testo, salvalo in:
home/mysql-init.
Fase 5:riavvio del server MySQL e applicazione della password appena creata
È ora di applicare le modifiche che abbiamo apportato alla nostra password appena creata. Innanzitutto, riavvieremo il server MySQL eseguendo il comando seguente nel terminale:
mysqld --init-file=/home/mysql-init &
Questo comando avvierà MySQL e applicherà la password del file di testo che abbiamo creato nel passaggio precedente. A seconda del metodo utilizzato per avviare il server, potrebbe essere necessario aggiungere altre opzioni come –defaults-file prima del comando init.
Dopo aver applicato la password appena creata e riavviato il server MySQL, è il momento di ripulire. Lo faremo accedendo al tuo server MySQL come utente root e verificando che la password che abbiamo creato funzioni effettivamente. Dopo aver confermato che il file funziona correttamente, procedi ed elimina il file che abbiamo creato nel passaggio 4 sopra.
2. Come reimpostare la password di root MySQL in Windows
Se sei un utente Windows e ti piacerebbe imparare a reimpostare la tua password di root MySQL su Windows, leggi questo articolo fino alla fine.
Passaggio 1:arresto del server MySQL.
Prima di fermare il server MySQL, devi verificare di aver effettuato l'accesso come amministratore.
- Premere i tasti Win + R su Windows per avviare la finestra di dialogo Esegui del tipo:
services.msc
- Avanti, fai clic su OK.
- Scorri l'elenco dei servizi e individua il servizio MySQL. Fare clic destro su di esso e quindi selezionare l'opzione Interrompi come mostrato nell'immagine seguente:
Fase 2:apri il tuo editor di testo preferito
A scopo illustrativo, utilizzeremo l'editor di testo Blocco note predefinito. Tuttavia, non spaventarti se hai un editor di testo diverso poiché i processi sono simili.
- Ora fai clic sul menu Start e cerca Blocco note. Fare clic su di esso per avviare.
In alternativa, utilizza questo percorso per trovare Blocco note:menu>Accessori di Windows>Blocco note.
Fase 3:creazione di un nuovo file di testo password utilizzando il comando password
Copia e incolla la sintassi seguente nell'editor di testo per evitare errori durante la digitazione manuale:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Come abbiamo fatto per Linux, assicurati di mantenere il punto e virgola e le virgolette singole e sostituisci NewPassword frase con la nuova password che intendi utilizzare sul tuo MySQL.
Fare clic sull'opzione File, quindi su Salva con nome per salvare la password del file di testo nella radice del disco rigido. Salva il file come mysql-init.txt.
Di conseguenza, il comando localhost può apportare modifiche alla password solo sul tuo sistema. Pertanto, se intendi modificare la password su un sistema diverso, ad esempio in rete, sostituisci localhost con il nome host appropriato per il diverso sistema.
Passaggio 4:avvia CMD (prompt dei comandi)
- Fai clic sui tasti Ctrl + Maiusc + Esc sulla tastiera
- Seleziona il menu file, quindi Esegui una nuova attività
- Digita cmd.exe e seleziona la casella di controllo Esegui come amministratore
- Fare clic su OK per avviare un prompt dei comandi con privilegi di amministratore.
Fase 5:riavvio di MySQL Server e applicazione del nuovo file di configurazione
- Utilizzando il prompt dei comandi, vai alla directory MySQL:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
- Successivamente, inserisci il seguente comando:
mysqld --init-file=C:\\mysql-init.txt
Nota: Dovresti considerare che ci sono due backslash prima di mysql-init richiesta. Inoltre, se hai utilizzato un nome diverso da quello utilizzato per l'illustrazione nel passaggio 2 sopra, dovresti usare quel nome immediatamente dopo le due barre rovesciate senza spaziatura.
Una volta completata questa operazione, ora puoi accedere al tuo MySQL come utente root utilizzando la password appena creata.
Assicurati di ricontrollare per accertarti che la nuova password funzioni correttamente. Dopo la conferma, procedi e elimina il file mysql-init.txt che abbiamo archiviato nella nostra directory C:\.
Istruzioni generiche per reimpostare la password di root MySQL
Le sezioni precedenti hanno fornito istruzioni dettagliate sulla reimpostazione delle password di root MySQL per Linux e Windows. In alternativa, quando si utilizza qualsiasi piattaforma, è possibile utilizzare il client MySQL per reimpostare la password. Tuttavia, è fondamentale notare che questo metodo è meno sicuro rispetto ai metodi precedenti.
Per utilizzare il client MySQL, segui i passaggi evidenziati di seguito:
1. Il primo passo è fermare il server MySQL. Dopo l'arresto, riavvialo con l'opzione seguente:
--skip-grant-tables
Questa opzione consentirà a chiunque di connettersi senza una password ma avrà tutti i privilegi e disabilita le istruzioni di gestione dell'account come ALTER USER e IMPOSTA PASSWORD.
Questa opzione è considerata non sicura poiché se il server inizia con –skip-grant-tables opzione, salta la rete viene abilitato disabilitando le connessioni remote.
2. Ora connettiti al server MySQL eseguendo il comando seguente:
mysql
Nota: non è richiesta alcuna password durante il riavvio del server MySQL utilizzando il client MySQL poiché il server è stato avviato con –skip-grant-tables .
3. Ora, nel client MySQL, eseguire il comando seguente per indicare al server di ricaricare le tabelle di concessione. Ciò consentirà agli estratti conto che erano stati interrotti in precedenza di funzionare di nuovo:
mysql> FLUSH PRIVILEGES;
Dopo aver eseguito il comando, eseguire il comando ALTER USER per modificare la password. Sostituisci il MyNewPass , con la nuova password che intendi utilizzare.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Nota: Per modificare la password di root per un sistema diverso, assicurati di modificare l'host locale con il nome host del sistema.
Ora puoi connetterti al tuo server MySQL come utente root usando la password che abbiamo creato. Quindi, arresta e riavvia il server normalmente senza le –skip-grant-tables opzioni e senza abilitare la variabile skip-networking.
Questo è tutto ciò che hai ripristinato con successo la tua password di root MySQL.
Conclusione
Se in precedenza avevi assegnato una password di root a MySQL ma l'hai dimenticata, puoi reimpostarla assegnando una nuova password al tuo MySQL, come mostrato in questo articolo.
Nota: MySQL non richiede una password di root per connettersi. Tuttavia, lo svantaggio di non assegnare una password di root al tuo MySQL è che non è sicuro e potresti perdere i tuoi oggetti di valore. Pertanto, se non hai mai impostato una password di root per il tuo MySQL, ti consigliamo vivamente di seguire i passaggi sopra menzionati per crearne una e proteggere i tuoi dati e le tue informazioni.