MySQL Datenbank von NaviCat zugreifen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo liebe fishe,
    ich wuste nicht wohin mit dem Thema,


    Ich habe in Google gesucht gesucht und nichts gefunden, was nicht klappt...


    Jetzt wollte ich mal hier fragen, wie ich das mache das ich auf meine MySQL Datenbank von NaviCat drauf zugreifen kann..


    Ich habe Debian 6 64bit


    Könntem ir jemand helfen hier im Thema...


    MfG SkillerZ


    Mehr transparents zu der Community!
    Aber bitte künftig: Transparenz und nicht Transparents

  • Also, erstmal solltest nicht unbedingt den Zugriff von außen auf den Root-User zulassen.
    Für andere User gibt es folgende Wege:
    Der einfache Weg: Du loggst du dich in phpMyAdmin ein, klickst auf "Rechte", gehst auf "neuen Benutzer hinzufügen", gibst den Namen und ein Passwort ein und klickst bei "Host" einfach auf "jeder Host" bzw gibst in das Feld "%" ein. Du kannst dann direkt noch eine gleichnamige Datenbank für den User erstellen, auf die er volle Rechte hat.


    Falls du den User schon erstellt hast, folgendes:
    In MySQL einloggen:

    Code
    mysql -u root -p


    Dann einmal folgenden Befehl, um zu zeigen, dass du auch MySQL benutzen willst:

    Code
    use mysql;


    Die Rechtevergabe:

    Code
    update user set host='%' where user='user*';


    Code
    update db set host='%' where user='user*';


    *user = Benutzername des Users, dem der Zugriff von außen erlaubt werden soll.


    Aber da nun wirklich jeder versuchen kann, sich auf den User einzuloggen, solltest du das ganze optimalerweise noch etwas mit IPTables absichern.
    (WICHTIG: Nur, wenn du immer von dem gleichen Client auf den Server zugreifen willst, also von einem vServer/Rootserver!)


    Erst einmal dem localhost natürlich erlauben, auf den DB-Server zuzugreifen. Dies ganze macht man am besten mit einem Loopback (lo) [Empfänger und Sender sind identisch = Lokal].

    Code
    iptables -A INPUT -i lo -p tcp --dport 3306 -j ACCEPT


    Dann allen erlaubten IPs den Zugriff zulassen:

    Code
    iptables -A INPUT -p tcp --dport 3306 -s 123.456.7.89* -j ACCEPT


    Code
    iptables -A INPUT -p tcp --dport 3306 -s 987.654.3.21* -j ACCEPT


    *hier deine erlaubten IP-Adressen einsetzen


    Und zu guter letzt noch den Zugriff von allen anderen Adressen blockieren:

    Code
    iptables -A INPUT -p tcp --dport 3306 -j REJECT


    Dann ein mal testen, ob alles funktioniert. Wenn alles funktioniert, solltest du die IPTables-Regeln noch speichern:

    Code
    apt-get install iptables-persistent