Autore Topic: [MySQL] ERROR 1045 (28000): Access denied for user 'root'@'localhost'  (Letto 8341 volte)

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Vi è mai capitato?
A me è comparso ieri per la prima volta... poi, non so come, dopo diversi tentativi sono riuscito a connettermi di nuovo al server di mysql.

Oggi è comparso di nuovo, ma stavolta non c'è verso! Ho seguito mille HowTo, ma niente... Non riesco a risolverlo.

Spero in un vostro consiglio o aiuto!  :hatecomputer:  :hard:

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: [MySQL] ERROR 1045 (28000): Access denied for user 'root'@'localhost'
« Risposta #1 il: 20 Dicembre 2010, 13:55:04 »
Questo capita di solito nella prima installazione, a meno che tu non abbia fatto qualcosa nel frattempo...

L'errore è chiaro, ma il momento non lo è... quando si verifica?

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: [MySQL] ERROR 1045 (28000): Access denied for user 'root'@'localhost'
« Risposta #2 il: 20 Dicembre 2010, 15:45:38 »
Non mi ha mai dati problemi in tutti questi giorni,

poi all'improvviso ieri è uscito fuori quel messaggio, all'accensione del PC.

Pensavo di averlo risolto (impartendo alcune istruzioni da Shell, trovate in rete). Ma oggi, al riavvio, di nuovo lo stesso messaggio. Solo che oggi è peggio!

Non sono riuscito a collegarmi. Poi smanettando un po' ci sono riuscito, ma sempre temporaneamente. Se chiudo la Shell con la procedura di connessione il messaggio ricompare alla connessione con il DB.

Tra l'altro smanettando credo di aver compromesso anche i file di configurazione di MySQL...

Quando mi riesco a connettere al server mysql, e clicco per ridare i permessi... mi dice che non esiste la riga del 'root':

La procedura che uso da Shell per connettermi è questa:

Codice: [Seleziona]
:~# /etc/init.d/mysql stop

:~# /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &

:~# mysql -u root flush-privileges password "mia_psw"

:~# /etc/init.d/mysql restart

:~# mysql

Quando riesco ad entrare nella console di mysql...

Provo a ridare i permessi con:

Codice: [Seleziona]
USE mysql
UPDATE mysql.user SET Password = OLD_PASSWORD('nuova_psw') WHERE Host = 'localhost' AND User = 'root';
FLUSH PRIVILEGES;

Ma l'UPDATE mi restituisce che non esiste una colonna 'Host'... (E se la ometto) mi restituisce che non esiste una ROW con un User='root';
Quindi ho pensato di inserirlo con INSERT INTO... Lo inserisce ma non succede nulla...

 :hatecomputer:

PS. Non sapendo come fare per rendere stabile mysql (ho provato anche a rimuoverlo e reinstallarlo... ma mi restituisce lo stesso medesimo 'Error 1045 (28000): Access denied...", sto scaricando di nuovo Ubuntu10.04 e mi accingo ad una reinstallazione completa del sistema. Se per stasera non ho risolto... entro domani mi trovo costretto a rinnovare tutto.

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: [MySQL] ERROR 1045 (28000): Access denied for user 'root'@'localhost'
« Risposta #3 il: 20 Dicembre 2010, 17:00:37 »
Incrociando le dita credo di aver risolto, con la soluzione più drastica, ossia eliminando anche le cartelle di configurazione, ecc., di mysql:

Se dopo aver provato una delle tante guide meno invasive che trovate in rete non doveste risolvere il problema... provate questa come ultima soluzione:

Disinstallare tutto mysql (ATTENZIONE perché cancellerete tutto il contenuto dentro il vostro server, database compresi!):

NB. durante la disistallazione e l'autoremove verrà disinstallato parzialmente anche gambas2 ed altri pacchetti (magari annotateli da qualche parte)... quindi alla fine del procedimento dovrete reinstallarli.

1) sudo apt-get --purge remove mysql-server mysql-common mysql-client
2) sudo apt-get autoremove
3) sudo rm -rf /etc/mysql
4) sudo rm -rf /var/lib/mysql
5) sudo rm -rf /var/run/mysqld

RESTART del Computer...

6) sudo apt-get install mysql-server mysql-common mysql-client

All'occorrenza, fare il BackUp del mio_db da Shell:

a) mysql -u root -pmia_password
b) CREATE DATABASE mio_db Charset UTF-8 Collation UTF-8_general_ci;
c) quit
d) mysql mio_db < Scrivania/mio_backup.sql -u root -pmia_password

PS. -pmia_password --> password va scritta di seguito a -p, senza spazi.
« Ultima modifica: 20 Dicembre 2010, 17:07:15 da perseo »

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: [MySQL] ERROR 1045 (28000): Access denied for user 'root'@'localhost'
« Risposta #4 il: 21 Dicembre 2010, 23:21:51 »
In fatto di MySQL sono ignorante ma mi pareva che nelle ultime versioni avessero impostato di default il blocco delle connessioni da localhost. Per ovviare a ciò andava editato a mano il file di configurazione del DB.
Però prendi queste info col beneficio del dubbio.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: [MySQL] ERROR 1045 (28000): Access denied for user 'root'@'localhost'
« Risposta #5 il: 22 Dicembre 2010, 00:55:30 »
Questo non lo so, ma se fosse così avrebbe dovuto darmi problemi sin da subito. Invece per due mesi non ho mai avuto noie con il collegamento al server.
Non so sia dipeso da qualche recente aggiornamento, fatto sta che dopo la reinstallazione di MySQL è tornato tutto funzionale come prima.  :-\