The Perfect Setup - Debian Etch (Debian 4.0) - Page 4 (mySQL)

Dieses Thema im Forum "Fragen zu Howtos" wurde erstellt von wiseguy, 25. Nov. 2008.

  1. wiseguy

    wiseguy New Member

    Hallo,

    hab schon wieder Probleme... diesmal mit mySQL:
    Ich bin also nach dieser Anleitung vorgegangen:
    • host # apt-get install mysql-server mysql-client libmysqlclient15-dev
    • bind-address = 127.0.0.1 auskommentieren in /etc/mysql/my.cnf
    • host # /etc/init.d/mysql restart
    • host # netstat -tap
      Active Internet connections (servers and established)
      Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
      tcp 0 0 xx.xx.xx.xx:mysql *:* LISTEN 18393/mysqld
      tcp 0 0 xx.xx.xx.xx:1906 *:* LISTEN 31741/sshd
      tcp 0 0 xx.xx.xx.xx:domain *:* LISTEN 10335/named
      tcp 0 0 xx.xx.xx.xx:953 *:* LISTEN 10335/named
      tcp 0 0 xx.xx.xx.xx:1906 domain-meines-anschlusses:3191 ESTABLISHED29461/sshd: user [p
      tcp 0 300 xx.xx.xx.xx:1906 domain-meines-anschlusses:2877 ESTABLISHED308/sshd: user [pri
    • host # mysqladmin -u root password drowssap
    • host # mysqladmin -h meinedomain.de -u root password drowssap
      mysqladmin: connect to server at 'meinedomain.de' failed
      error: 'Host 'xx.xx.xx.xx' is not allowed to connect to this MySQL server'
    xx.xx.xx.xx ist dabei immer meine IP und meinedomain.de ist meine Domain. Außerdem hab ich das alles natürlich als root ausgeführt (allerdings per ssh erst als ein Benutzer user eingeloggt und anschließend mit 'su -'zu root gewechselt). Trotzdem zeigt er bei netstat -tap etwas vom Benutzer user an (rot markiert). Ist das normal? (Okay, ich glaube das ist es, denn das ist ja die SSH Verbindung...)

    Was also warscheinlich zu dem Fehler führt, ist diese Zeile:
    Code:
    tcp        0      0 [COLOR=Red]xx.xx.xx.xx[/COLOR]:mysql      *:*                     LISTEN     18393/mysqld
    eigentlich müsste sie ja so aussehen (laut Anleitung):
    Code:
    tcp        0      0 [COLOR=Red]*[/COLOR]:mysql      *:*                     LISTEN     18393/mysqld
    Ich habe aber z.B. ja bind = 172.0.0.1 auskommentiert... (das bringt doch diese Änderung, oder?)

    [EDIT]
    Ich hab grad erneut versucht mysqladmin -u root password drowssap auszuführen. Dabei kam diese Fehlermeldung:
    Code:
    mysqladmin: connect to server at 'localhost' failed
    error: 'Access denied for user 'root'@'localhost' (using password: NO)'
    Außerdem bleibt die Fehlermeldung bei mysqladmin -h meinedomain.de -u root password dorwssap leider bestehen.[/code]

    Kann mir jemand helfen?
     
    Zuletzt bearbeitet: 4. Dez. 2008
  2. Till

    Till Administrator

    Das ist soweit alles ok, Du kannst mit den nächsten Schritten im Tutorial weiter machen und ggf. später mit phpmyadmin nachsehen, ob Deine mysql DB noch einen weiteren root Account ohne Passwort hat.
     
  3. wiseguy

    wiseguy New Member

    Ich möchte dieses Problem nocheinmal aufgreifen.

    Zum Verständnis:
    Code:
    mysqladmin -u root password yourrootsqlpassword
    legt quasi den Benutzer root an und gibt ihm ein Passwort.

    Code:
    mysqladmin -h server1.example.com -u root password yourrootsqlpassword
    macht genau was? Ist das dann nur noch der Test ob es auch geklappt hat oder "erledigt" dieses Kommando auch noch direkt was?

    Wieso stört dann die Fehlermeldung nicht?
     
  4. Till

    Till Administrator

    Die MySQL Userdatenbank enthält 2 Einträge für den Benutzer root, einen für Zugriffe von localhost und den anderen für Zugriffe übder den Hostnamen.

    Der erste Befehl ändert also das Passwort für den Zugriff von localhost und der 2. Befehl das Passwort für den Zugroff über den Hostnamen des Servers. Es gibt aber diverse Gründe, warum der 2. Befehl fehlschlagen kann. Einer Davon ist z.B. wenn Du den Hostnamen in der mysql DB nicht kennst, das kommt dann vor wenn der Hostname des Systems nach der Installation der mysql DB geändert wurde.

    Das Fehlschlagen des 2. Befehls ist nicht so schlimm, da es für die Installation von ISPConfig ausreicht, das Passwort für localhost zu setzen. Du kannst dann nach der Installation von ISPConfig mit phpmyadmin einfach in die mysql user Tabelle sehen und dann dort ein Passwort für den 2. Eintrag des root Users setzen.
     
  5. wiseguy

    wiseguy New Member

    Okay, danke für die Info.
    Mittlerweile läuft das ISPConfig bei mir wieder. Allerdings hatte ich diverse Probleme bei der Installation: Denn da muss man ja während der Installation von ISPConfig den mysql Server, den mysql Benutzer und das entsprechende Passwort angeben. Bei mir konnte ich nicht localhost, localhost.DOMAINNAME (in meinem Fall localhost.de), localhost.localdomain oder 127.0.0.1 angeben. Einzig der richtige Domainname führte zum Erfolg (die feste IP hab ich nicht probiert, wahrscheinlich wäre die auch gegangen).

    Ich konnte allerdings (hab ich vorher bzw. wärenddessen immer wieder mal probiert) mit mysql -h localhost -u root -p auf die mysql DB zugreifen.

    Meine Erklärung dafür wäre gewesen, dass das ISPConfig eben nicht mit localhost arbeiten kann oder man VOR der Installation noch irgendwas fürs ISPConfig Setup einrichten muss - evtl ist da irgendwo eine localhost Benutzung verboten? (einen anderen Grund kann ich mir nicht vorstellen, da wie gesagt ich unter dem gleichen user, auf dem gleichen System auf die DB zugreifen konnte)

    Achso, weißt du sicherlich eh, aber ch erwähne es nochmal: Ich habe einen vServer mit debian etch und bin nach dem entsprechenden Perfect Setup vorgegangen.

    Ich hab alles danach, ab Punkt 4 Install The SSH Server, eingerichtet, bis auf folgende "Änderungen":
    • SSH Port geändert
    • ohne interfaces editieren und ipv6 Einträge in der /etc/hosts
    • zusätzlich ein 'apt-get dist-upgrade' auseführt, da eine ssh Host-Blacklist (leider weiß ichs jetzt nicht mehr so genau) noch installiert werden musste und deshalb zwei ssh Pakete nicht geupdatet werden monnten
    • bei quota nur das 'apt-get install quota' ausgeführt (weils ja ein vserver ist und ich keinen Zugriff auf devices habe)
    • statt 'apt-get install bind9' habe ich diese Anweisungen befolgt und ein vserver Kompatibles bind9 installiert (die Anleitung ist ein bissl fehlerhaft, die Fehler sind aber offensichtlich. Außerdem hab ich noch folgende Pakete auf "hold" gesetzt: libbind-dev, libdns22, libisc11. Denn wenn ich diese Pakete update läuft das bind9 nicht mehr)
    • statt
      Code:
      mknod /var/lib/named/dev/null c 1 3
        mknod /var/lib/named/dev/random c 1 8
        chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
      habe ich
      Code:
      ln -s /dev/null /var/lib/named/dev/
      ln -s /dev/random /var/lib/named/dev/random
      ausgeführt
    (Ich hab natürlich immer das befolgt, was für eine spätere ISPConfig Installation gebraucht wird...)

    Einzige "Fehler" wärend der Istallation war immer (hatte ich ja weiter oben schonmal beschrieben), dass der Befehl 'netstat -tap' nicht diese Ausgabe brachte
    Code:
    tcp 0 0 *:mysql *:* LISTEN 3281/mysqld
    sondern diese
    Code:
    tcp 0 0 meinedomain.de:mysql *:* LISTEN 22403/mysqld
    Und das vermute ich hängt irgendwie mit dem Fehler zusammen... Nur hab ich schon x-mal neu installiert und jedesmal kommt diese Ausgabe.

    Wie gesagt, ISPConfig läuft trotzdem, aber ich bin mir nicht sicher, ob das trotzdem irgendwie schädlich sein könnte oder (später) zu Fehlfunktionen führen könnte.
     

Diese Seite empfehlen