Webspace (Homepage) verliert die verbindung zum Root-Server

09/28/2013 16:41 Azuko#1
Hallo zusammen,

Ich habe eine frage und zwar es geht darum das die Homepage nach ner gewissen zeit die verbindung zur mysql verliert.

Ich bekomme immer wieder dann diesen fehler zu sehen.
Quote:
Warning: mysql_connect(): Host '*host-ip*' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' in /var/customers/webs/*host-ip*/homepage/index.php on line 15 Warning: mysql_connect(): Host '*host-ip*' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' in /var/customers/webs/*host-ip*/homepage/index.php on line 16 Verbindung zur Datenbank fehlgeschlagen: Abbruch
Wie behebe ich dauerhaft diesen fehler?
09/28/2013 17:06 myHEXOR*#2
Wie hast du den Fehler den vorher behoben ?
09/28/2013 17:08 Azuko#3
nach einem neustart der mysql geht die HP wieder schmiert dann aber wieder ab.
09/28/2013 17:10 myHEXOR*#4
Das ist wiederum sehr komisch, kannst du dich nachdem die HP abschmiert immer noch via Navicat einloggen ?
09/28/2013 17:14 Azuko#5
Ja das funktioniert
09/28/2013 17:18 Royalos#6
[Only registered and activated users can see links. Click Here To Register...]
mach mal error_reporting(E_ALL); in die config.inc.php
09/28/2013 17:22 Azuko#7
das steht in der index.php ^^ und das is der fehler der angezeigt wird
09/28/2013 17:26 .Akusa#8
Du musst die IP vom Webspace whitelisten auf dem root, damit er nicht geblocked wird.
Wie genau, weiß ich leider nichtmehr.^^
09/28/2013 17:28 Kriegerstar15#9
du musst von deinen mysql server die my.cnf bearbeiten und die maximal verbindung erhöhen dann ist es weg
09/28/2013 17:56 Azuko#10
Quote:
Originally Posted by Kriegerstar15 View Post
du musst von deinen mysql server die my.cnf bearbeiten und die maximal verbindung erhöhen dann ist es weg
Wie macht man das genau?^^
09/28/2013 18:07 afghanliahmet85#11
Fehler steht doch da "is blocked because of many connection errors"

ich musst noch sehr viel lernen, ich glaube es noch ein wenig zu früh mit root und webspace zu hantieren. Ist nicht böse gemeint aber das sind die einfachsten fehler und für euren tk grundwissen.

Erhöht die max connection in mysql und tragt die webspace IP in mysql ein.
09/28/2013 18:09 Kriegerstar15#12
mysql connection höher nicht apache
09/28/2013 18:11 afghanliahmet85#13
1.Als erstes als root oder via sudo mit root-Rechten auf den Server anmelden und hier den bereits in der Fehlermeldung erwähnten Aufruf absetzen.

#server: mysqladmin flush-hosts

2.Der Spuk ist damit vorerst vorbei, wie ein erneuter Aufruf der eben noch fehlerhaften Website zeigt. Doch zurück lehnen hilft nur bis zur nächsten Meldung dieser Art, was je nach Auslöser bereits nach wenigen Sekunden der Fall sein kann. Um etwas länger vor manuellen Eingriffen des Admins – und somit vor Ausfällen der Website – verschont zu bleiben, verspricht ein Eintrag in die my.cnf – der Konfigurationsdatei von MySQL – Abhilfe.

#server: mcedit /etc/mysql/my.cnf

Hier lässt sich im Bereich [mysqld] mit folgender zusätzlichen Zeile der Standardwert für Verbindungsfehler von 10 auf einen praktisch beliebigen Wert anheben.

max_connect_errors = 1000

Abspeichern und nach einem Restart von MySQL würde nun erst nach 100 fehlerhaften Verbindungen der entsprechende Host gesperrt werden (das geht natürlich auch mit einem Wert von 1.000, 10.000 oder noch höher). Nur die in MySQL eingebaute Begrenzung ist hier ja nicht zum Spaß Bestandteil der Software! Hiermit lassen sich natürlich Hacker-Attacken verhindern oder man wird auf Netzwerkfehler aufmerksam gemacht. Vielleicht hat man aber auch ein Script am Laufen, was sich immer wieder fehlerhaft versucht auf den MySQL-Server zu verbinden. Hier kann man nur in der MySQL-Prozessliste suchen und das Problem versuchen auf diese Art lokalisieren.
09/28/2013 18:22 Azuko#14
Bei
Quote:
root# mysqladmin flush-hosts
kommt das:
Quote:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
Bei
Quote:
root# mcedit /etc/mysql/my.cnf
das:
Quote:
mcedit: Command not found.
09/28/2013 18:29 #dynastie#15
Du musst die max-connections hochsetzen. Das kannst du:

1.) Bei jedem MySQL-Start via Query einstellen
2.) In die my.cnf einbinden, damit diese immer verwendet werden kann

Trag in deine /etc/my.cnf folgendes ein:

PHP Code:
max_connections=4000 
ist die my.cnf nicht vorhanden, musst du sie dir erstmal holen:

PHP Code:
cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf 
Anschließend den MySQL-Server neustarten.