phpmyadmin mysql accesso come root

Spesso mi è stato utile phpmyadmin per dare comandi a un database mysql da un ambiente grafico, che in alcuni casi risulta sicuramente più comodo della riga di comando.

Ho quasi sempre usato Linux Mint nelle mie installazioni, ma dalla versione 18.3 non era più possibile collegarsi come root a tramite phpmyadmi, pur dopo aver assegnato la password a root.

Dopo molti tentativi, ho capito che non dipendeva da Mint, ma da mysql, che da una certa versione in poi, per motivi di sicurezza, ha disabilitato di default l’accesso con password dell’utente root, impostando come accesso la modalità auth_socket.
Dato che le mie installazioni non trattano dati sensibili ho provato ad abbassare la soglia di sicurezza riabilitando l’accesso di root.

Per farlo bisogna modificare la tabella user del database mysql

Intanto, accedendo alla console mysql si può verificare la situazione:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Dall’elenco risultante verificare il metodo di autenticazione per root: di default, nella colonna plugin sarà indicato auth_socket, mentre per gli altri utenti mysql_native_password.

Per assegnare accesso con password anche a root:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password-scelta';
FLUSH PRIVILEGES;

Quindi sarà possibile collegarsi come root dall’interfaccia di phpmyadmin.