Externen Datenbankaufruf => Lost connection to MySQL server during query

GodHunter

New Member
Hi,

hab nach der Neuinstallation meines Servers folgendes Problem, wenn ich über meinen Webserver auf den Datenserver (wo auch die Datenbanken liegen) zugreifen will, erscheint nur die Meldung:

Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server during query in /home/woehrer/public_html/buster/docs/functions/sql.php on line 4
Lost connection to MySQL server during query

Ich habe auf dem Server eine config Datei mit folgendem Inhalt erstellt um den Zugriff auf die Datenbanken herzustellen:

<?

define('cfg_db_host','91.121.69.131');
define('cfg_db_user','Benutzername');
define('cfg_db_pw','Passwort');
define('cfg_db','otr');
define('cfg_tb_suffix','otr_');

define('cfg_gb_page_posts','8');

define('cfg_host','http://files.otr-keys.de');

?>

Das ganze hat noch bis vor der Neuinstallation einwandfrei funktioniert, ich vermute auch das der fehler nicht am Script liegt sondern an irgendeinem Timeout der Datenbank.
Da ich die Website derzeit auf dem Datenserver hoste liegt dort natürlich auch diese config Datei drauf, Sie hat den selben Inhalt bis auf den Host der da logischerweise "127.0.0.1" lautet.

Ich habe anstatt des Apache2 Lighttpd auf meinem Server installiert falls das von bedeutung sein sollte.
 
Was hat denn das "http://" in der Hostangabe zu suchen, denk das soll eine Datenbankanbindung werden? :confused:
Und von welchem Datenbanksystem sprechen wir denn?
 
Der Aufruf files.otr-keys.de ist nur für die Downloads von Bedeutung da diese über eine SubDomain aufgerufen werden. Es geht dabei um die Verbindung mit einer MySQL Datenbank, diese liegt auf dem Server mit der IP 91.121.69.131 und sollen nun vom Webserver aus aufgerufen werden um die Seite darzustellen.

Benutzername und Passwort stimmen natürlich, wie gesgat funktioniert es ja vom Server (91.121.69.131) aus, dort musste ich die Homepage ja derzeit deponieren und da ist genau dassselbe config Script eingebaut nur eben so:

<?

define('cfg_db_host','127.0.0.1');
define('cfg_db_user','Benutzername');
define('cfg_db_pw','Passwort');
define('cfg_db','otr');
define('cfg_tb_suffix','otr_');

define('cfg_gb_page_posts','8');

define('cfg_host','http://files.otr-keys.de');

?>
 
Beim Versuch via Telnet eine Verbindung zum Server herzustellen erhalte ich folgende Fehlermeldung:

telnet 91.121.69.131 3306
Trying 91.121.69.131...
telnet: Unable to connect to remote host: Connection refused

Vorher habe ich per mysqladmin -p -h localhost variables geprüft auf welchem Port er hört und der Port ist 3306.

Was bedeutet das also?
 
Last edited by a moderator:
Das bedeutet, dass in /etc/my.cnf folgendes steht:
Code:
[mysqld]
bind-address    = 127.0.0.1
port            = 3306
Der mysqld horcht damit nur auf dem lo-Interface (was für den normalen Gebrauch auch gut und richtig ist, da man normalerweise seine Datenbank nicht dem ganzen Internet exponieren will). Daher kannst Du auch nicht mit telnet darauf zugreifen, wenn Du die Adresse des externen Interfaces verwendest. Lösung: Du musst die andere IP-Adresse mit eintragen und den mysqld neu starten.
 
Ich habe jetzt unter bind-addresses 0.0.0.0 eingetragen wodurch ich von überall auf meine DB zugreifen kann. Als ich die feste Ip des Servers unter bind-addresses eigetragen habe konnte ich den Dienst nämlich nicht mehr starten.
 
Back
Top