ERRORE 1698 (28000): Accesso negato per l'utente 'root' @ 'localhost' su Ubuntu 18.04


22

Ho seguito questo tutorial per installare MySQL ma dopo aver installato MySQL con successo, non sono riuscito ad accedere al database.

ERRORE 1698 (28000): accesso negato per l'utente 'root' @ 'localhost'


1
Ho riscontrato lo stesso problema, dopo alcuni scavi, ho capito che devi impostare tu stesso la password di root seguendo le istruzioni su StackOverFlow .
Mohammad.H Fathi,

Risposte:


46

Ho trovato una soluzione al link qui , seguendo questa soluzione ho risolto il mio problema.

I passaggi brevi sono:

sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test'; 

Nota: ecco testuna nuova password per l'utente root. Inoltre, ricorda di eseguire il comando sudo service mysql restartdopo aver modificato l'utente.


Grazie. È strano che mysql-server non stia più cercando di inserire la password.
gamofe

1
ERRORE 1064 (42000): si è verificato un errore nella sintassi SQL; controlla il manuale corrispondente alla versione del tuo server MariaDB per la sintassi corretta da usare vicino a 'USER' root '@' localhost 'IDENTIFICATO CON mysql_native_password DA' b230mehonot '' alla riga 1
alhelal

stesso errore qui ... :(
user1111929

@alhelal, La soluzione è per MySQL non per MariaDB. Quindi puoi provare un'altra soluzione.
Ashrafuzzaman Sujan,

Non scrivere mysql -u root, basta scrivere "sudo mysql", Nei sistemi Ubuntu che eseguono MySQL 5.7 (e versioni successive), l'utente root è autenticato dal plugin auth_socket per impostazione predefinita.
Ravisoni,

13

Ho trovato un altro modo molto migliore in quanto non è necessario fornire alcuna password per il sistema locale.
È come seguito.

Apri terminale e digita

sudo mysql -u root -p

Ti verrà richiesto in mysql, qui puoi eseguire qualsiasi comando mysql.

Usa la tabella mysql per cambiare il tipo di tabella, così possiamo usare una password vuota. Il muggito è il comando per questo

USE mysql;

Ora cambiamo il tipo di tabella seguendo il comando

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

ora dobbiamo svuotare i privilegi, perché abbiamo usato UPDATE. Se si utilizza INSERT, UPDATE o DELETE direttamente sulle tabelle delle sovvenzioni, è necessario utilizzare FLUSH PRIVILEGES per ricaricare le tabelle delle sovvenzioni.

FLUSH PRIVILEGES;

ora esci da mysql seguendo il comando

exit;

ora riavvia il server mysql seguendo il comando

service mysql restart

Spero che questo possa aiutare

Grazie.


2
Questa è la risposta giusta
Ningappa,

Grazie Felice di aiutare :)
Krunal Pathak 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.