Menu Chiudi

Reset root password di MySQL o MariaDB

Reset root password MySQL o MariaDB

Essere costretti a fare il reset root password di MySQL, perchĂ© l’abbiamo dimenticata è una di quei task che ogni System Administrator prima o poi si trova a dover affrontare. La password di root di MySQL® è cruciale per poter gestire il database MySQL; essa consente infatti all’utente root di avere pieno accesso al database MySQL.

Per fare il reset della password dell’utente root del database MySQL è indispensabile avere l’accesso root di Linux®, o amministratore, nel caso in cui MySQL è in esecuzione in un sistema Windows®.

Diciamo subito che bisogna evitare di confondere l’utente root del database MySQL con l’utente root di accesso al sistema Linux (accesso privilegiato di amministratore) o l’utente Amministratore di un sistema Windows. Le password ovviamente sono diverse! La password di root del sistema consente accesso al server; mentre la password root di MySQL consente l’accesso solo al database MySQL.

In questo mini-tutorial, eseguiremo tutti i passaggi per reimpostare una password root MySQL utilizzando la riga di comando interfaccia. Notare che non è necessario conoscere la precedente password per fare il reset della password di root del database MySQL.

Reset della root password di MySQL

La procedura da seguire per fare il reset root password di MySQL o MariaDB puĂ² essere sintetizzata come segue:

  1. Stop dei servizi del database system;
  2. Avvio del database system in modalitĂ  safe;
  3. Impostazione di una nuova root pasword;
  4. Stop del database system dalla modalitĂ  safe;
  5. Avvio standard dei servizi del database system;
  6. Verifica di Login standard al database.

Di seguito il dettaglio di ciascun singolo passo, arricchito di considerazioni e note personali.

Leggi anche:   Come fare Cross Compile per Raspberry Pi con Ubuntu X86

Passo 1 – Stop dei servizi del database system;

Se stai utilizzando una delle distribuzioni GNU Linux piĂ¹ recenti, puoi utilizzare il comando seguente per arrestare il servizio MySQL:

$ sudo systemctl stop mysqld.service

Oppure, per il database MariaDB:

$ sudo systemctl stop mariadb.service

Se invece stai utilizzando distribuzioni GNU Linux un po’ piĂ¹ datate il comando da utilizzare per arrestare il servizio è il seguente:

$ sudo /etc/init.d/mysql stop

Oppure, per per il database MariaDB:

$ sudo /etc/init.d/mariadb stop

Passo 2 – Avvio del database system in modalitĂ  protetta (safe)

Avviare MySQL in modalitĂ  protetta (safe) e limitata tramite il seguente comando. Notare che il simbolo ‘&’ in fondo al comando è strettamente necessario in quanto la modalitĂ  «safe» deve essere in esecuzione in background.

$ sudo mysqld_safe --skip-grant-tables &

Notare inoltre che l’opzione --skip-grant-tables rende disponibile il login a MySQL o MariaDB senza che sia necessaria la password e con tutti i privilegi impostati. L’uso di questa opzione abilita di default anche l’opzione --skip-networking, utilizzata per prevenire l’accesso al database server di altri client dalla rete.

Passo 3 – Impostazione della nuova password

Possiamo ora collegarci a MySQL per effettuare le operazioni di recovery. Eseguire il comando che segue per collegarsi a MySQL:

$ mysql -u root

Notare che non viene richiesta la password, per quanto descritto piĂ¹ sopra.

Impostazione della nuova password di root di MySQL

Questo è il punto cruciale della procedura di reset della password di root del nostro database MySQL. Ma prima di procedere è necessaria una precisazione.

La procedura di impostazione di una nuova password per lo user root di MySQL o MariaDB è strettamente legata alla versione del prodotto. Pertanto i comandi che seguono in questa sezione del tutorial sono differenziati sulla base della versione corrente di MySQL o MariaDB in uso.

Leggi anche:   Come Fare il Setup di Raspberry Pi 3 con raspi-config

Se stai per resettare la root password di una versione MySQL 5.7.6 o successive, oppure una di una versione MariaDB 10.1.20 e successive, dovrai applicare i comandi riportati qui sotto:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new-strong-password';
FLUSH PRIVILEGES;

Se invece stai per cambiare la root password di una versione MySQL 5.7.5 o precedente (piĂ¹ vecchia di), oppure di una versione MariaDB 10.1.20 o precedente (piĂ¹ vecchia di), dovrai applicare i comandi riportati qui sotto:

FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new-strong-password');
FLUSH PRIVILEGES;

Notare che nell’esempio abbiamo impostato la nuova password a new-strong-password che non è proprio il massimo della sicurezza! Raccomandiamo, a questo proposito, di scegliere bene la nuova password da assegnare, utilizzando una combinazione di caratteri decisamente piĂ¹ complessa e robusto. In altre parole, difficile da individuare.

Passo 4 – Stop del database system dalla modalitĂ  safe

In questo passaggio va fermato il servizio di database precedentemente avviato in modalitĂ  safe, con l’opzione --skip-grant-tables, piĂ¹ sopra.

Per fermare il servizio, eseguire il comando:

$ sudo mysqladmin -u root -p shutdown

Al prompt di richiesta di inserimento della password, digitare la nuova password appena impostata.

Il database system a questo punto è completamente fermo e nessun processo mysql dovrebbe piĂ¹ essere attivo nel sistema.

Passo 5 – Avvio standard dei servizi del database system

In questo passaggio va eseguito il normale avvio dei servizi del database MySQL o MariaDB in modo standard.

Nelle distribuzioni GNU Linux moderne, il Database system MySQL puĂ² essere riavviato così:

$ sudo systemctl start mysql.service

Nelle distribuzioni GNU Linux moderne, il Database system MariaDB puĂ² essere riavviato così:

$ sudo systemctl start mariadb.service

Per distribuzioni GNU Linux piĂ¹ “datate”, fare riferimento alla specifica distribuzione (Debian, Ubuntu, Red Hat, CentOS, etc.) ed eventualmente anche alla versione in uso.

Leggi anche:   VPN Remote Access con Mini Router VPN GL-iNET

Passo 6 – Verifica di Login standard al database

La procedura per eseguire il reset della password di root del database MySQL o MariaDB è conclusa, non resta che verificare che tutto sia andato come previsto, effettuando un login di prova in MySQL con l’utente root e la nuova password appena impostata.

$ mysql -u root -p 
Enter password for root

Digita ora la nuova password per entrare nel database MySQL o MariaDB.

Conclusioni

Eseguire il reset della password dell’utente root del database MySQL, se l’hai dimenticata, è una di quelle operazioni cruciali che permettono a qualsiasi Sysadmin di poter riprendere a gestire pienamente il database MySQL o MariaDB in poco tempo e con minime interruzioni di servizio.

In questo mini-tutorial, abbiamo voluto semplificare al massimo tutte le operazioni necessarie per un veloce reset della password di root di MySQL. Tuttavia, operazioni che agiscono in modo così profondo su un sistema così critico come puĂ² essere un database, va sempre eseguita con grande attenzione.

Per questo genere di operazioni così critiche è sempre raccomandato eseguire preventivamente un Backup di tutti i database MySQL o MariaDB, nel caso che qualcosa possa andare storto.

Condividi

Disclaimer

Questa pagina potrebbe contenere link di affiliazione. Gli acquisti o gli ordini che effettuerai tramite tali link possono generare commissioni che ci aiutano a sostenere questo sito web.

Lascia un commento

Il tuo indirizzo email non sarĂ  pubblicato. I campi obbligatori sono contrassegnati *

Moderazione dei commenti attiva. Il tuo commento non apparirĂ  immediatamente.