mysql -u root non funziona ma sudo mysql -u root funziona, perché?


9

Di recente ho seguito alcuni tutorial e ho installato mysql usando sudo apt-get install mysql-server-5.7

Posso collegarmi al database usando la password eseguendo il comando seguente:

sudo mysql -u root -p

Provo a connettermi eseguendo:

mysql -u root -p

ma ottengo l'errore:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Perché? Come posso risolvere questo problema?


2
caro downvoter, puoi anche lasciare un motivo per il downvote, almeno un'esplorazione perché questa è una domanda stupida?
user1379280,

Questo potrebbe essere correlato. Guarda alcune delle risposte: askubuntu.com/questions/766334/…
Terrance

Hai impostato una password di root per mysql durante l'installazione?
Steeldriver,

@steeldriver: sì, l'ho fatto
user1379280,

Risposte:


23
  1. Accedi con sudo: sudo mysql -u root -p
  2. Elimina l'utente root: drop user 'root'@'localhost';
  3. Crea di nuovo l'utente root: create user 'root'@'%' identified by 'your_password';
  4. Dare le autorizzazioni: grant all privileges on *.* to 'root'@'%' with grant option;
  5. Aggiorna le tabelle delle autorizzazioni: flush privileges;
  6. Esci da MYSQL e prova a riconnetterti senza sudo.

Carattere: impossibile accedere come root utente mysql dal normale account utente in Ubuntu 16.04


Grazie! Questi passaggi hanno funzionato anche per me e non ho bisogno sudoora di usare mysql! Sembra che sostituendo l'host localhostcon %risolto il problema per me.
Vikram Hosakote,

ma non riesco ancora ad accedere in remoto
Ciasto piekarz,

Non ha funzionato per me, ora non riesco ad entrare con o senza sudo!
David Powell il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.