REDAXO – Lost connection to MySQL server at ‘reading initial communication packet’

Als wir letztens REDAXO auf einen Fremdserver installiert hatten, wurden wir mit der folgenden Fehlermeldung konfrontiert:

Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at ‘reading initial communication packet’, system error: 111

Dieser Fehler taucht auf, wenn man einen Host-Alias als DB-Hostname verwendet. z.B:

mysql5-11.xxl

Um REDAXO zu überzeugen eine Verbindung aufzubauen, muss man den korrekten Hostname ermitteln, indem man /etc/hosts per PHP ausliesst:


<?php
$x = file_get_contents('/etc/hosts');
echo '<pre>';
print_r($x);
echo '</pre>';
?>

Wenn man den Code oben ausführt, wird eine liste der internen DB-Hostnamen angezeigt.


10.0.61.201     mysql5-1      mysql5-1.xxl       mysql5-1.ovh.net
10.0.61.202     mysql5-2      mysql5-2.xxl       mysql5-2.ovh.net
10.0.61.203     mysql5-3      mysql5-3.xxl       mysql5-3.ovh.net
10.0.61.204     mysql5-4      mysql5-4.xxl       mysql5-4.ovh.net
10.0.61.205     mysql5-5      mysql5-5.xxl       mysql5-5.ovh.net
10.0.61.206     mysql5-6      mysql5-6.xxl       mysql5-6.ovh.net
10.0.61.207     mysql5-7      mysql5-7.xxl       mysql5-7.ovh.net
10.0.61.208     mysql5-8      mysql5-8.xxl       mysql5-8.ovh.net
10.0.61.209     mysql5-9      mysql5-9.xxl       mysql5-9.ovh.net
10.0.61.210     mysql5-10     mysql5-10.xxl      mysql5-10.ovh.net
10.0.61.211     mysql5-11     mysql5-11.xxl      mysql5-11.ovh.net
10.0.61.212     mysql5-12     mysql5-12.xxl      mysql5-12.ovh.net

In dem Fall brauchten wir nur mysql5-11.ovh.net als Hostname in master.inc.php einzutragen um das Problem zu beheben.