[Webserver] MySQL Zugriff von Extern

Steve Urkel the REAL

Moderator
Teammitglied
MySQL Zugriff von Extern

Hallo Zusammen,

ich möchte folgendes, soooo Sicher, wie nur möglich, realisieren.

Man soll von extern auf die MySQL-Datenbanken zugreifen können, was auch soweit ohne Probleme funktioniert (auskommentieren von skip-networking) in der my.cnf. Nachteil hierbei ist jedoch, dass nun jeder (der Freigeschaltet wurde) auf den MySQL-Datenbankserver zugreifen kann und die ganzen MySQL-Datenbanken der anderen Benutzer sieht.

Ist es möglich, dies zu unterbinden?
Wie kann ich dies auf den Benutzer beschränken, so dass er nur seine Datenbanken angezeigt bekommt?

Gibt es eine Möglichkeit, von Extern auf MySQL zu zugreifen, ohne auskommentieren des „skip-networking“ Befehls? Optimaler weise per SSH!

Eine SSH-Tunnel Verbindung zum MySQL-Datenbankserver habe ich schon hinbekommen, jedoch nur mit den auskommentieren „skip“ Befehl.

BS: Debian Woody
Mysql: 3.23.49

Ich sage schon mal Danke

Steve
 
Du kannst jeden Benutzer einzeln beschränken indem du als ihm als möglichen host nur localhost gibst. :)
Schau einfach in PHPmyAdmin mal unter den Rechten.
 
Sorry, vergessen.

Mit phpMyAdmin werden wirklich nur die entsprechenden Datenbanken angezeigt, aber mit verschiedenen MySQL-Management-Anwendungen (z. B. MySQL-Front, MySQL-Maestro etc.) werden alles Datenbanken angezeigt.

Steve
 
Erstmal isses ne sehr schlechte Idee, MySQL von extern erreichbar zu machen...
Und anders, als über das auskommentieren von skip-networking wirds auch nicht gehen.

Man müsste jetzt wissen, was genau du vor hast, um über evtl. Alternativen nachzudenken, und warum ein bedienen mittels direktem SSH Zugriff oder phpmyadmin nicht möglich ist.
 
Ich weis, dass man nicht von aussen drauf zugreifen sollte, aber die da verfügbare Softwareauswahl ist größer und flexibler, nicht nur für mich, sondern auch für die anderen, die an dem Server mit MySQL arbeiten.

Ich habe mit phpMyAdmin "nur" Probleme, was das erstellen von Backups, bzw. das Restoren dieser angeht. Es werden einfach die Backups nicht korrekt zurückgespielt (nur teilweise oder garnicht). Ich weis das auch andere diese Probleme haben/hatten.

Der SSH Zugriff geht ja 1a, jedoch nur mit den auskommentieren. Sollte dies auch mit skip-networking gehen? Wenn ja, werde ich dieses mal genauer unter die Lupe nehemen, warum es nicht geht.

Erstmal danke für die Antwort.

Steve
 
phpmyadmin trägt selten Schuld an missglückten Sicherungen oder deren zurückspielen.
Das Problem dabei ist, das in PHP eine Zeit definiert ist, nach welcher die ausführung eines Sriptes beendet wird. Wird diese Zeit überschritten wird das Script nicht weiter ausgeführt und die Sicherung bzw. das Backup schlägt fehl.

MySQL bringt aber von Haus aus ein gutes Backupscript mit, welches per SSH auf dem Server auszuführen ist. Nennt sich mysqldump.

Dazu connectest einfach mittels SSH auf den MySQL Server und gibts dann z.B. folgenden Befehl ein:

mysqldump -uBENUTZERNAME -pPASSWORT -hlocalhost DB_NAME | gzip > DB_NAME.sql.gz

Die Rot gekennzeichneten Teile musst du duch jene ersetzen, die auf dich passen.
Damit hast du in dem Verzeichniss, in dem du dich bei ausführung des Scriptes befindest eine gepackte Version der entsprechenden Datenbank.

Zurück bekommst du das, in dem du folgendes eingibst:

gunzip DB_NAME.sql.gz
mysql -uBENUTZERNAME -pPASSWORT -hlocalhost DB_NAME < DB_NAME.sql

Um das durchzuführen musst du natürlich auch die nötigen Rechte besitzen.
 
Also ich verstehe nicht ganz wo dein Problem mit dem Zugriff von Extern auf mySQL liegt aber du kannst das Problem mit VPN umgehen. Dann bist das quasi so, als würde der mySQL Server bei dir im LAN stehen. Außerdem ist die Verbindung verschlüsselt.


FormA
David
 
Natürlich ist das Risiko größer je mehr Zugriffsmöglichkeiten bestehen, aber die größere Gefahr sehe ich eher in schlechten Passwörtern und unvorsichtiger Rechtevergabe.
Abgesehen davon hat man meist bei einem shared Server nicht die Möglichkeit diese Einstellung zu ändern. Ein weiterer Nachteil ist die mangelnde Möglichkeit extern Backups ducrhzuführen.

Gibt halt bei allem ein Pro und Contra oder Chance und Gefahr. :)
 
Diese Art von Scripten funktioniert aber nur, wenn es PHP gestattet ist, auf dem Server Befehle auszuführen bzw. der safe_mode ausgeschaltet ist.
Und der safe_mode ist bei so ziemlich jedem "Shared-Hoster" aktiviert.
 
Oben