Il server MySql non riconosce la password corretta

2

Ho installato il server MySql su Ubuntu 14.04 LTS. Ho anche una precedente esperienza.

Ma ogni volta che effettuo il login, usando mysql -u root -p e dopo aver inserito la password dice:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Ho inserito la password corretta. La stessa cosa è accaduta giorni fa, ma poi ho completamente rimosso mysql e reinstallato di nuovo.

Inoltre, ho provato a riavviare il server mysql ma nessun aiuto!

Qualcuno può aiutarmi?

    
posta Sam 01.01.2015 - 05:35

2 risposte

3

Leggi sempre il contenuto di /usr/share/doc/ nome-pacchetto / per i pacchetti che hai installato. Contengono informazioni importanti per l'utilizzo e la gestione dei pacchetti.

Quindi per mysql-server-5.5 ci sono informazioni importanti in /usr/share/doc/mysql-server-5.5/README.Debian.gz . Poiché è gzip ped, è conveniente usare zmore per leggerlo.

Qui puoi vedere che puoi utilizzare l'utente debian-sys-maint per accedere al database per l'amministrazione. Proprio come root usa /etc/mysql/debian.cnf file di configurazione per accedere come tale utente. Tieni presente che MAI dovrebbe cambiare la password degli utenti, a meno che tu non la modifichi anche nel file debian.cnf . Altrimenti, mysql smetterà di funzionare.

Quindi, per cambiare la password per l'utente root , prova questo.

$ sudo mysql --defaults-file=/etc/mysql/debian.cnf
mysql> UPDATE mysql.user SET Password=PASSWORD('*secret*') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit;
$ mysql -u root -p

Se puoi usare la *secret* password per accedere come utente root , sei riuscito a cambiare la password per root .

  

Si noti che questo uso di debian-sys-maint utente funziona solo con le distribuzioni basate su Debian.

     

Si noti inoltre che se si dispone anche del pacchetto dbconfig-common installato e impostato per memorizzare la password root (vedere /etc/dbconfig/config ), è necessario riconfigurare tale pacchetto in modo che conosca la password per amministrare i database per altri pacchetti .

Infine, una buona informazione può anche essere letta in Debians Wiki e nel The System administrators Book

    
risposta data Anders 02.01.2015 - 03:50
2

Prima interrompi il server mysql

 sudo service mysql stop

Esegui il seguente comando che riavvia il server e salta le tabelle di sovvenzione che memorizzano le password.

 mysqld_safe --skip-grant-tables

Il server Mysql dovrebbe ora essere avviato. Quindi eseguiamo il login in root senza password.

 mysql -u root 

E quindi premere invio

Ora eseguiamo i seguenti comandi in mysql per reimpostare la password

 update user set 
 Password=PASSWORD('new-password')
 where user='root';
 flush privileges;
 exit;

Ora riavvia il server mysql

 sudo service mysql restart 

Ora dovresti essere in grado di accedere con la password che hai appena impostato

 mysql -u root -p

Premere invio e si dovrebbe ottenere un prompt per la password di root e dovrebbe essere accettato.

    
risposta data geoffmcc 01.01.2015 - 16:01

Leggi altre domande sui tag