MySQL - Problem?

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von ralf-isi, 1. Okt. 2011.

  1. ralf-isi

    ralf-isi New Member

    Guten Tag zusammen

    Eine etwas komische Sache:
    Habe heute Morgen an/in einem Web gearbeitet das unter ISPConfig gehostet ist. Zuerst keine Probleme, alles (http, e-mail und ftp) lief.

    Doch plötzlich kam ich nicht mehr per ftp auf den Server. Die Verbindungsaufname ab dem Client geht ganz normal:
    Code:
    USER xyz
    331 User xyz OK. Password requrired
    PASS ******
    530 Login authentication failed
    (Dabei ist das Passwort im Client gespeichert.) Zur Sicherheit habe ich einen neuen ftp-User angelegt, Passwort von Hand eingegeben, Server 2 mal neu gestartet = Gleiches Ergebnis.

    Im Systemlogfile finde ich
    Code:
    Oct  1 07:53:28 pluto mysqld[15173]: refused connect from localhost
    Oct  1 07:53:28 pluto mysqld[15173]: refused connect from localhost
    Oct  1 07:53:44 pluto pure-ftpd: (?@193.247.250.21) [INFO] New connection from 193.247.250.21
    Oct  1 07:53:45 pluto mysqld[15173]: refused connect from localhost
    Oct  1 07:53:45 pluto pure-ftpd: (?@193.247.250.21) [ERROR] The SQL  server seems to be down [Lost connection to MySQL server at 'reading  initial communication packet', system error: 0]
    Oct  1 07:53:49 pluto pure-ftpd: (?@193.247.250.21) [WARNING] Authentication failed for user [xyz]
    Oct  1 07:54:01 pluto /usr/sbin/cron[17279]: (root) CMD (/usr/local/ispconfig/server/server.sh &> /dev/null)
    Der MySQL - Server läuft, denn die Seite ist ein Shop und der ist ganz normal erreich- und sichtbar.

    Ich habe keine Ahnung was da passiert ist und was mir das Logfile mit " 'reading initial communication packet' " mitteilen möchte.
    Wie behebe ich den 'Fehler'?

    Vielen Dank für Eure Hilfe und ein schönes Wochenende wünscht
    ralf

    PS
    Auch Mail scheint betroffen zu sein: Im Mail-Error-Protokoll steht:
    Code:
    Oct  1 08:29:18 pluto postfix/trivial-rewrite[24495]: fatal:  proxy:mysql:/etc/postfix/mysql-virtual_domains.cf(0,lock|fold_fix):  table lookup problem
     
  2. nowayback

    nowayback Well-Known Member

    Moinsen,

    ist nur ne Vermutung, aber kann es sein, das der user root und/oder user ispconfig keinen localhost eintrag haben - d.h. sich nicht von localhost verbinden dürfen sondern von allen hosts (% in Liste)?

    Shell Befehle:
    Code:
    mysql -u root -p
    Enter drücken und Passwort eingeben, dann mit Enter bestätigen

    Code:
    SELECT User, Host FROM mysql.user;
    nachschauen ob die beiden user als hosteintrag "localhost" drinstehen haben.

    Sollte soähnlich aussehen:
    Code:
    mysql> SELECT User, Host FROM mysql.user;
    +------------------+------------------+
    | User             | Host             |
    +------------------+------------------+
    | ispconfig        | localhost        |
    | root             | localhost        |
    +------------------+------------------+
    2 rows in set (0.00 sec)
    
    Es können da durchaus weitere User drinstehen... das ist nur ein Beispiel.

    Grüße
    nwb
     
  3. ralf-isi

    ralf-isi New Member

    Schönen guten Morgen

    vielen Dank für die Idee und auch für die Bekanntgabe der benötigten Befehle. Habe ich gemacht und folgendes gesehen:
    Der User root hat je einen Eintag mit: 127.0.0.1, feste externe IP (ich bei einem Kollegen), localhost und pluto (so heisst der Server).
    Der User ispconfig hat nur einen Eintag mit localhost.

    Daneben gibt es einen User ohne Namen mit 2 Einträgen: localhost und pluto.

    Ist das so Richtig, müsste ja sein.

    Auffällig an der ganzen Sache ist, dass der Shop (Zen-Card) läuft, (also somit MySQL)
    jedoch:
    * Piwik (Analyse-Programm, auch DB-basiert) beim Aufruf die Konfiguration bemängelt. (Liegt aber richtig vor.)
    * kein ftp - Zugang möglich ist. Bei keiner Domain.

    Gemacht habe ich bevor der 'Fehler' auftrat wie immer nichts. :) Ausser im Shop html - Code korrigiert.

    Bin für jede Hilfe dankbar und wünsche allen einen schönen, sonnigen Sonntag.
    ralf

    Nachtrag:
    ssh läuft wohl ebenfalls nicht. Das soeben im Log gesehen:
    neben dem bekannten:
     
    Zuletzt bearbeitet: 2. Okt. 2011
  4. nowayback

    nowayback Well-Known Member

    Moinsen,

    Dein SSH läuft nicht? Wie loggst du dich dann auf dem Server ein?


    Diese Meldung würde ich mal so interpretieren, das du von dem Server auf dem du arbeitest, ne ssh verbindung zu eben jenem aufbauen wolltest. Der sinn dahinter erschließt sich mir nicht ganz.


    Mir ist nicht bekannt, das man namenlose User in MySQL anlegen kann. Bitte prüfe das nochmal nach. *** Edit: Namenlose User sind schon möglich, so wird jeder Username akzeptiert, macht aber m.M. nach keinen Sinn und würde ich bei mir als Sicherheitsrisiko einstufen und schnellstens entsorgen. ***


    Diese Einträge sind korrekt, aber Hinweis: "feste externe IP (ich bei einem Kollegen)" überdenken, denn wenn du keine "software" bei deinem kollegen hast, die daten von dem Server abfragen können soll, dann unnötig - jedoch ist es auch kein Fehler und hat somit nichts mit deinem Problem zutun.


    Welche Distribution setzt du denn ein und in welcher Version?
    Welche MySQL Version setzt du ein?
    Hast du schon mal versucht den Server neuzustarten, oder wenigstens den MySQL?
    Hast du irgendwelche Passwörter geändert und es vergessen in den Konfigurationen einzutragen? Alternativ: Hast du versucht die Passwörter einmal neu zu setzen?
    Hast du mal geschaut ob die benötigten Ports auch erreichbar sind? (nmap -sT IP-Adresse)

    ISPConfig bedingt kann ich dir selbst wenig helfen, aber dein Problem scheint nicht am ISPConfig zu liegen, sondern irgendwo bei deinem System - und ich vermute stark beim mysql.

    Vorsichtshalber würde ich auch rkhunter mal drüberlaufen lassen und schauen ob der was zu bemängeln hat und die iptables prüfen (iptables -L wenn ich mich nicht irre)

    Grüße und schönen Feiertag
    nwb
     
    Zuletzt bearbeitet: 3. Okt. 2011
  5. ralf-isi

    ralf-isi New Member

    Schönen guten Morgen nwb und alle ISPConf'ler

    ich bin wirklich dankbar für die Hilfe, denn ich denke alleine komme ich nicht auf den grünen Zweig.
    Gar nicht :-( -- Der Server läuft im run-level 3 und ich logge mich ein, werde root und starte bei Bedarf X. -- Also ssh ist ebenfalls gelaufen bis dieses "Theater" los ging.


    Ich meine mal gelesen zu haben, dass solche Meldungen im Logfile vom System generiert werden als Test ob der Dienst läuft. Doch die Meldung besagt doch, dass MySQL Anfrage(n) ablehnt?

    Deine Einstellung passt mir, also schmeisse ich die Beiden raus.

    Stimmt - kann ich auch raus werfen weil ich das Heute nicht mehr benötige.

    openSUSE 11.2 Emerald Kernel 2.6.31.14-0.8-default
    5.1.49-0.1.1 -- Yast zeigt bei einigen, dass etwas neuere Versionen erhältlich seien. Doch ein Update hab ich gestern abgebrochen weil Yast moserte wegen Abhängigkeiten, resp. das noch Anderes geändert werden müsse. Also hab ich mal die Finger davon gelassen.
    Ja, MySQL genauso wie auch das System. Keine Änderung .... leider.
    Ganz klar Nein.
    Nein (könnte ich mal versuchen und schauen was dann passiert. Doch siehe bitte weiter unten.) Ich habe einen neuen ftp - User angelegt und getestet. Gleiches Ergebnis.
    pluto (also der Server) steht hinter einer starken Firewall (IPCop), die Firewall leitet nur die benötigten Port an Pluto weiter. nmap -sT zeigt:
    Code:
    PORT      STATE SERVICE
    21/tcp    open  ftp
    22/tcp    open  ssh
    25/tcp    open  smtp
    53/tcp    open  domain
    80/tcp    open  http
    110/tcp   open  pop3
    111/tcp   open  rpcbind
    143/tcp   open  imap
    631/tcp   open  ipp
    783/tcp   open  spamassassin
    993/tcp   open  imaps
    995/tcp   open  pop3s
    3306/tcp  open  mysql
    5666/tcp  open  nrpe
    8080/tcp  open  http-proxy
    8081/tcp  open  blackice-icecap
    10000/tcp open  snet-sensor-mgmt
    10024/tcp open  unknown
    10025/tcp open  unknown
    
    Ich bedanke mich bei Dir herzlich für Deine Hilfe, Geduld und mitüberlegen bei der Fehlersuche/-lösung. Ich denke nicht, dass es ein ISPConfig - Fehler/Problem ist sondern tippe ebenfalls auf MySQL-

    rkhunter läuft mit, findet keine rootkit's oder sowas.
     
  6. ralf-isi

    ralf-isi New Member

    Nachtrag

    Kann den vorigen Beitrag nicht ändern ... er wird zu lang.

    Nachtrag:
    Ich habe die beiden Namenlosen - User gelöscht und MySQL neu gestartet - keine Besserung. :( (Aber wohl was für die Sicherheit gemacht!)

    Vieleicht hilft es weiter ... hier das Log von mysql:
    Hat/kann das "skip-locking" den Fehler verursachen? Wohl kaum oder .... aber wo finde ich das? Im Start-Skript von mysql unter /etc/init.d nicht.
     
  7. nowayback

    nowayback Well-Known Member

    Moinsen ralf


    so langsam aber sicher komm ich auch ans Ende... meine derzeit einzige Vermutung die ich noch hab, wäre das du deinen localhost Eintrag gelöscht hast. Bitte prüfe das mal nach (ifconfig)

    Dann solltest du etwas ähnliches wie folgendes finden:
    Code:
    lo        Link encap:Lokale Schleife  
              inet Adresse:127.0.0.1  Maske:255.0.0.0
              inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
              UP LOOPBACK RUNNING  MTU:16436  Metrik:1
              RX packets:128281 errors:0 dropped:0 overruns:0 frame:0
              TX packets:128281 errors:0 dropped:0 overruns:0 carrier:0
              Kollisionen:0 Sendewarteschlangenlänge:0 
              RX bytes:9801528 (9.3 MiB)  TX bytes:9801528 (9.3 MiB)
    
    Falls nicht überprüfe deine interfaces - müssten bei Suse auch unter /etc/network/interfaces sein und dort dann prüfen ob folgende einträge vorhanden sind:
    Code:
    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    Prüfe bitte auch deine hosts.deny/hosts.allow ob localhost/127.0.0.1 erlaubt bzw. nicht verboten sind sowie pluto.

    Kurz zur Begründung wie ich darauf komme:
    Du hast ein Problem geschildert mit deiner Datenbank sowie FTP und E-Mail zugang. Die FTP und E-Mail Daten liegen in der Datenbank, deswegen gehe ich davon aus, dass diese Dienste wieder funktionieren werden, wenn die Datenbank läuft.

    - An dieser Stelle behalten wir im Hinterkopf das dein Shop funktioniert -

    Dann war auch dein SSH betroffen und scheinbar nicht erreichbar. Die benötigten Ports für SSH und MySQL sind aber offen und auf Listen.

    - An dieser Stelle behalten wir im Hinterkopf das du per Shell an die Datenbank kommst -

    Nun schauen wir uns die Logfiles, die du gepostet hast, nochmal genauer an:
    Nun kommen wir zu den Sachen die wir im Hinterkopf behalten haben. Ist es möglich das der Shop die Datenbankverbindung nicht zum localhost aufbaut, sondern zum fqdn oder zur IP Adresse? Wenn ja, würde es erklären warum der Shop funktioniert.
    Ähnlich verhält es sich mit der Shell MySQL Verbindung, denn diese nutzt, wenn ich mich recht erinnere, den hostnamen (in deinem Fall "pluto").

    Sollte es das nun auch nicht sein, dann bin ich, wie oben geschrieben, auch langsam am Ende meines Wissens angekommen.

    *** Edit ***
    Nein das sollte ncihts mit deinem Fehler zutun haben. Du kannst es aber beheben indem du die my.cnf editierst (vi /etc/mysql/my.cnf - evtl. anderer Pfad bei dir) und im Bereich [mysqld] den Eintrag skip-locking änderst in skip-external-logging
    Dann noch speichern und dann MySQL neustarten und der Fehler sollte weg sein.
    **********
    Grüsse
    nwb
     
    Zuletzt bearbeitet: 3. Okt. 2011
  8. ralf-isi

    ralf-isi New Member

    Gelöst: Lost connection to MySQL server at 'reading initial communication packet'

    Guten Morgen nwb und alle anderen auch

    am Ende (mit meinem Latein) war ich schon und nun sind wir es! Meinen herzlichsten Dank an Dich!!

    Als ich Deinen Beitrag gelesen habe, ist es mir förmlich in die Augen gesprungen:
    localhost ... das war es!

    Erklärung (sollte das noch mal jemandem passieren):
    Zum Schutz des Servers läuft fail2ban und denyhosts mit. denyhosts habe ich so eingestellt, dass es sich mit dem 'Heimat-Server' austauscht (wer Andere angreift hat bei mir (auch) nichts zu suchen).
    dnyhosts sendet mir jeweils eine Mail welche IP gebannt wurde. Nur nicht am vergangenen Samstagmorgen als 2 IP gebannt wurden (Mail läuft dann auch nicht mehr) wovon die eine 127.0.0.1 also localhost war.
    Auch wenn denyhosts gestoppt wird, sind die IP's gebannt!
    Gebannte IP entfernen:

    1. denyhosts stoppen mit:
      Code:
      /etc/init.d/denyhosts stop
    2. IP aus /etc/hosts.deny entfernen.
      Code:
      vi /etc/hosts.deny
    3. IP aus den anderen Files von denyhots entfernen:
      Code:
      sed -i.old /aaa.bbb.ccc.ddd/d /var/lib/denyhosts/*
      aaa.bbb.ccc.ddd durch die zu löschende IP ersetzen.
    4. denyhosts starten mit:
      Code:
      /etc/init.d/denyhosts start
    Und FREUDE haben.

    @nwb ganz vielen Dank für Deine Überlegungen und tatkräftige Hilfe, Du glaubst nicht was für ein Stein mir vom Herzen gefallen ist!! Eigentlich sollten wir mal zum Bier. :)

    Und das mit dem skip-locking mach ich auch noch .... aber erst noch ein wenig die Freude geniessen.

    Viele Grüsse aus der Schweiz
    ralf
     
  9. nowayback

    nowayback Well-Known Member

    Moinsen Ralf

    freut mich für dich, das du so nun deine Probleme beheben konntest.

    Gern geschehen ;)


    Grüße nwb
     
  10. ralf-isi

    ralf-isi New Member

    Hallo - Halli
    Und wie es mich freut, dass das Ganze wieder Rund läuft!!! - Die Bauarbeiter sind noch beschäftigt mit "Loch im Boden flicken". :) :)

    Und genau das ist der springende Punkt weshalb ich Foren so mag. Geben und nehmen .... aber ein grooooooooooooooooosses Bier hast Du alle Weile zu gute.
    Ich hoffe sehr, ich kann Dir auch mal einen grossen Stein in den Garten werfen. Wie auch immer.

    Viele Grüsse
    ralf
     

Diese Seite empfehlen