È normale, se dicendo "accedere al DB tramite mysql -u root -p
funziona bene" vuoi dire che lo stai eseguendo mentre sei un root di sistema (o sotto sudo
). Non dovresti essere in grado di farlo come utente normale.
I pacchetti generati da Ubuntu per impostazione predefinita hanno unix_socket autenticazione per la radice locale. Per controllare, esegui
SELECT user, host, plugin FROM mysql.user;
Dovresti vedere unix_socket
nel plugin
colonna per [email protected]
.
Se invece desideri utilizzare l'autenticazione tramite password, esegui
UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket';
FLUSH PRIVILEGES;