PDA

Bekijk Volledige Versie : Mysql benaderen via tcp/ip?



Freakingme
02/11/07, 23:30
Ey,

Vandaag kreeg ik de vraag van een klant of ik het kon maken dat de mysql server ook remote te bereiken is. Sure denk ik; "geen probleem". Niet dus.

Ik heb bind-address = 0.0.0.0 in my.cnf staan, ook bind-address = 127.0.0.1 geeft hetzelfde resultaat. Skip-networking staat niet in my.cnf.

De error is deze:

# mysql -h 127.0.0.1
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

Als ik mysql -h localhost gebruik werkt het wel, maar dan gaat het dus rechtstreeks via de socket.

Iemand enig probleem hoe ik dit ga oplossen?

bvd.

Na dat strace uitwees dat /etc/hosts.allow en /etc/hosts.deny niet leesbaar waren, was een simpele chmod genoeg om het probleem om te lossen. ->|

MartinM
03/11/07, 00:59
Zelfde probleem treedt bij deze gebruiker op : http://sidux.com/PNphpBB2-printview-t-4944-start-0.html

Probleem blijkt na lang zoeken in het feit te zitten dat de client die met de MySQL DB moet connecten niet in z'n hostfile staat/geen toegangsrechten heeft volgens z'n hostfile.

Daarnaast moet je kijken of je niet de DB als root hebt aangemaakt, maar als user probeert te benaderen, je hebt natuurlijk wel een user nodig die access-privileges heeft voor de DB in kwestie.

Succes.

Freakingme
03/11/07, 11:46
Thanks voor je reply. Maar dit had nog niets met db-privileges ed. te maken...


Na dat strace uitwees dat /etc/hosts.allow en /etc/hosts.deny niet leesbaar waren, was een simpele chmod genoeg om het probleem om te lossen.

(waarom werd die toevoeging vannacht geautomerged met mijn andere post in dit topic :X)

Wynand
03/11/07, 12:31
(waarom werd die toevoeging vannacht geautomerged met mijn andere post in dit topic :X)Om dubbelposten (/spammen) te voorkomen.

hrodenburg
03/11/07, 12:44
met: netstat -anp kun je natuurlijk mooi zien of je mysql ook daadwerkelijk op het goeie ip luisterd.
Zelf comment ik altijd bind-address uit, maar dat zal niet veel uitmaken misschien.

Freakingme
03/11/07, 13:51
Het probleem was dus, dat er wel geluisterd werd op die poort, en mysql ook wel connecties over tcp/ip accepteerde. Maar met dat ie de tcp/ip connectie accepteerde en ging kijken of die ook was toegestaan in /etc/hosts.deny en /etc/hosts.allow, hij 'm automatisch weer sloot omdat deze twee bestanden niet leesbaar waren. Helaas werd er dus niets gelogged/melding over gemaakt waardoor het probleem pas met strace geopenbaard werd...