Ciao a tutti, ho un grave problema.
Ho un'applicazione che fa uso di tanti DB e di conseguenza tanti (migliaia) di utenti. Quindi per me è ESSENZIALE poter fare il backup e il restore anche degli utenti, è impensabile reinserirli tutti.

Per fare questo faccio il backup del DB "mysql" e di "information_schema" (anche se credo che quest'ultimo non serva). Effettuo correttamente il ripristino di entrambi.

Gli utenti sembrano essere ripristinati correttamente, e da phpMyAdmin vedo che sono stati ripristinati correttamente anche i privilegi di tutti gli utenti sui singoli database. Se però provo a fare il login da client o da phpMyAdmin mi dà ACCESSO NEGATO. L'unico utente che continua a funzionare è root.

Se entro in phpMyAdmin come root e provo a cambiare la password di uno di questi utenti mi dà questo errore:

Codice PHP:
#1133 - Can't find any matching row in the user table 
La query che phpMyAdmin genera automaticamente è SET PASSWORD 'utente'@'localhost' ecc ecc

Se cerco 'utente' nella tabella USER invece lo trovo! Ma è come se MySQL non lo trovasse. Se elimino l'utente e lo ricreo con lo stesso identico nome tutto torna a funzionare.

Questo succede con qualsiasi server MySQL. Ho provato a reinstallare completamente l'ambiente di test, ho provato su un server Windows, Linux, su macchine virtuali. Il problema sembra proprio essere di MySQL e non dei DB specifici o della macchina.

Ho provato a creare un ambiente di test con nomi di db e nomi di utenti tutti SENZA caratteri speciali, come per esempio l'underscore, pensando che il motivo fosse quello, ma niente.

Uso le ultime versioni, mysql 5.0.51 e apache 2.2