PDA

Bekijk Volledige Versie : mysql luistert niet op IP, wel op localhost



fastrep
20/09/07, 15:39
Hebben jullie dit al eens gezien?
Op een van mijn servers draait mysql al een heel tijdje zonder problemen. Een paar weken geleden geupgrade naar de laatste versie, ook zonder problemen.

Vandaag besloot hij ineens niet meer te reageren op alle requests die naar een van de Ip's van die host gingen. De host heeft meerdere ip-adressen.
Telnetten naar poort 3306 ging nog, maar meer niet. Dus met een mysql-client naar het ip gaat niet, php-scripts kunnen er niet op. Via de localhost (socket) gaat alles perfect, en zijn er geen problemen.

Ik heb snel de database verhuisd naar een andere server, want ik had geen idee waar te zoeken. Eigenlijk heb ik niet veel ervaring met mysql-problemen, want in 5 jaar is dat zowat het eerste probleem dat ik tegenkom ermee.
Wat denken jullie hiervan? Door wat kan zoiets veroorzaakt worden, waar zoek ik het best?

Alvast bedankt

Peter

D. ter Horst
20/09/07, 15:41
In je my.conf 'listen' veranderen van 127.0.0.1 naar een IP van je server should do the trick :)

davinci
20/09/07, 15:42
even je my.cnf editten. Waarschijnlijk accepteert mysql geen connecties meer van buitenaf.

http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

Jurian
20/09/07, 15:43
In de config file staat networking waarschijnlijk uit, wat tegenwoordig gelukkig standaard is. Kijk dus even in de config file en haal het stukje dat het netwerk uitschakelt weg. Ik geloof dat het iets van skip-networking heet, maar dat heb je zo gevonden.

almar
20/09/07, 16:12
Misschien een handige tip voor iedereen: gebruik je oude configfile bij het upgraden van mysql.

D. ter Horst
20/09/07, 16:16
Misschien een handige tip voor iedereen: gebruik je oude configfile bij het upgraden van mysql.

Dit is niet in alle gevallen handig, vaak staat er bij de upgrade instructions wel of je een config kunt blijven gebruiken of niet. Vergeet namelijk niet dat sommige config variabelen kunnen verdwijnen en er variablen bij kunnen komen.


Wat betreft dat skip-networking, dat gaat alleen op voor de oudere versies van de MySQL server. Nieuwe versies hebben listen gewoon op 127.0.0.1 staan. Door dit te veranderen naar een IP van je server (kunnen er geloof ik ook meerderen zijn) kun je gewoon verbinding maken. Vergeet ook niet dat je user verbindingen moet toestaan anders dan vanaf localhost (door een % als host op te geven).

fastrep
20/09/07, 23:16
In de config file staat skip-networking uit, het heeft dan ook altijd gewerkt, en er is niets veranderd aan de config.
Maar de server was zo 'fucked up' dat hij geen connecties meer accepteerde. Er waren ook heel wat slow-queries volgens de serverstatus van mysqladmin (het is een shared hosting server). Ik heb nu de slow-query log opgezet, en ga er de volgende dagen goed naar kijken.
Momenteel heb ik hem fatsoenlijk kunnen herstarten, en lijkt alles weer te werken.

Alleszins bedankt

Peter