Impostare la password dell’ utente root di mysql 8

Installando Mysql 8 su Ubuntu mi sono trovato a dover impostare la password dell’ utente root@localhost .

In rete si possono trovare diversi articoli che parlano di come impostare o reimpostare la password in oggetto, ma nessuno mi e’ stato di aiuto per portare a termine questa operazione.

Per cui armato di pazienza sono arrivato alla soluzione seguendo i seguenti passi:

  1. Accedo a mysql con il seguente comando :
    #mysql -u root -p
  2. inserisco la password vuota
  3. Appena collegato verifico la versione del server mysql nelle prime righe di risposta del server.

Se la versione di mysql corrisponde alla 8.x

  1. Visualizzo i data base di sistema con il comando:
    mysql> show databases;
  2. per usare il database interno del server:
    mysql> use mysql;
  3. Per vedere le tabelle del db in uso uso il comando:
    mysql> show tables;
  4. Per vedere la struttura della tabella user uso il comando:
    mysql> describe user;
  5. Per vedere gli utenti presenti:
    mysql> select user, authentication_string, host from mysql.user;
  6. Se la colonna authentication_string dell utente root e’ vuota vuol dire che la password inserita in precendenza non rispettai nuovi canoni di mysql in questa installazione. Quindi provare ad inserire la password con questo comando:
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'LaTuaPassword';
  7. Eseguire nuovamente la query al punto 5 per verificare che il campo authentication_string sia popolato.
  8. Se il campo è popolato eseguire il comando:
    mysql> flush privileges;

Spero che questa breve guida possa essere di aiuto