Il server non risponde (o il socket del server locale MySQL non è correttamente configurato) – Risolto
Dopo giorni di sbattimento ecco trovata la soluzione al mio problema.
Il problema in questione era l’accesso al phpMyAdmin di XAMPP, che da qualche settimana non mi permetteva più di mettere le mani sulle mie tabelle MySQL.
Ricerche su internet hanno evidenziato che la cosa non si manifesta solo con installazioni di XAMPP ma con i server MySQL in genere.
Molte delle soluzioni trovate dagli utenti comportano la disinstallazione dei server e alternative reinstallazioni di pacchetti simili.
A me non andava di fare questo visto che si tratta di una versione portable della suite XAMPP e visto anche che il problema era dato solo su alcuni pc e non su altri.
La cosa strana in tutto questo è che il phpMyAdmin riportava l’errore:
Connessione per controluser come definito nella configurazione fallita.
dovuto quindi ad un mal funzionamento del server MySQL, ma in realtà l’unico a non funzionare era solo il phpMyAdmin, mentre tutte le mie webapp giravano tranquillamente.
A questo punto la colpa era da dare alla macchina che fa girare i server e non ai server stessi.
Andando alla cartella:
G:\xampp\mysql\data\
ed aprendo il file:
mysql_error.log
ho trovato queste righe:
130131 8:26:20 [Note] Plugin 'FEDERATED' is disabled. 130131 8:26:20 InnoDB: The InnoDB memory heap is disabled 130131 8:26:20 InnoDB: Mutexes and rw_locks use Windows interlocked functions 130131 8:26:20 InnoDB: Compressed tables use zlib 1.2.3 130131 8:26:20 InnoDB: Initializing buffer pool, size = 16.0M 130131 8:26:20 InnoDB: Completed initialization of buffer pool 130131 8:26:21 InnoDB: highest supported file format is Barracuda. 130131 8:26:22 InnoDB: Waiting for the background threads to start 130131 8:26:23 InnoDB: 1.1.8 started; log sequence number 2041678 130131 8:26:23 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 130131 8:26:23 [Note] - '0.0.0.0' resolves to '0.0.0.0'; 130131 8:26:23 [Note] Server socket created on IP: '0.0.0.0'. 130131 8:26:25 [Note] Event Scheduler: Loaded 0 events 130131 8:26:25 [Note] mysql\bin\mysqld.exe: ready for connections. Version: '5.5.25a' socket: '' port: 3306 MySQL Community Server (GPL)
Le righe che mi hanno portato all’intuizione sono:
130131 8:26:23 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 130131 8:26:23 [Note] - '0.0.0.0' resolves to '0.0.0.0'; 130131 8:26:23 [Note] Server socket created on IP: '0.0.0.0'.
Questo significa che il server stava cercando di creare un socket all’indirizzo 0.0.0.0… non funzionerà mai ho pensato. L’indirizzo 0.0.0.0 non esiste.
Ma chi è che detta le leggi dns locali in un computer?
-Il file hosts
Allora subito a cercare il file hosts
C:\Windows\System32\drivers\etc
ed infatti alla prima riga veniva settata questa corrispondenza
0.0.0.0 localhost
che invece ho modificato in
127.0.0.1 localhost
Una bella riavviata al server e voilà adesso il phpMyAdmin funziona di nuovo.
Per vedere come si trova e come si modifica il file hosts in Windows 7 (ma è uguale anche su XP e Vista) puoi dare un’occhiata qui.
Commentati Recentemente