Zugriff auf externe Datenbank

Zugriff auf externe Datenbank

am 04.06.2006 11:09:38 von Renata Nowak

Hallo,

ich möchte gerne vom Server A (Provider 1) auf die Datenbank zugreifen,
die auf dem Server B (Provider 2 -> 1&1) liegt. Die Zugangsdaten habe
ich. Leider funktioniert es nicht.
Geht das überhaupt? Worauf muss man achten?

Gruß

rena

Re: Zugriff auf externe Datenbank

am 04.06.2006 11:42:37 von Norbert Melzer

Renata Nowak schrieb:
> Hallo,
>
> ich möchte gerne vom Server A (Provider 1) auf die Datenbank zugreifen,
> die auf dem Server B (Provider 2 -> 1&1) liegt. Die Zugangsdaten habe
> ich. Leider funktioniert es nicht.
> Geht das überhaupt? Worauf muss man achten?

Ja es geht...
Man muss drauf achten, daß der Zugriff auf die Datenbank via TCP/IP UND
von anderen Rechnern aus erlaubt ist. In den meisten Konfigurationen ist
es allerdings verboten, da es ein massives Sicherheitsrisiko darstellt.

Ich muss ehrlich sagen, mir fällt auf Anhieb kein Anbieter ein, der es
in der Standardkonf erlaubt. Solltest Du einen (Virtual-)Root Server
haben, kannst Du allerding unter http://dev.mysql.com/doc/ nach den hier
für wichtigen Einstellungen suchen.

Ich möchte Dich aber trotzdem eindringlich davor warnen das so zu
nutzen, und egal was Du tust, gebe für diese Geschichte KEINESFALLS den
Superuser frei!

MFG
Norbert

Re: Zugriff auf externe Datenbank

am 04.06.2006 13:35:40 von Dominik Echterbruch

Renata Nowak wrote:
>
> ich möchte gerne vom Server A (Provider 1) auf die Datenbank zugreifen,
> die auf dem Server B (Provider 2 -> 1&1) liegt. Die Zugangsdaten habe
> ich. Leider funktioniert es nicht.
> Geht das überhaupt? Worauf muss man achten?

Wie Norbert schon erwähnt hat, haben die meisten Provider den Zugriff
von außen unterbunden. Und wenn ich ihm auch zustimme, daß das
grundsätzlich eine gute Sache ist, ist es doch kein so großes
Sicherheitsproblem mehr, wenn man eine hinreichend neue MySQL-Version
nutzt (das ist aber leider nur bei den wenigsten Providern gegeben).

Es gibt aber noch ein paar alternative Wege, die aber ein bißchen davon
abhängen, was du genau machen möchtest. Du könntest beispielsweise die
Verbindung über SSH tunneln oder ein passendes PHP Skript auf dem
entfernten Server ablegen, das die Abfragen für dich ausführt und das
Ergebnis zurück liefert.
Das hängt aber wie gesagt davon ab, was du eigentlich tun willst.


Grüße,
Dominik
--
Norbert Melzer in d.c.d.mysql:
F: Wie verstehe ich diese FAQ am besten?
A: Studieren Sie Datanbank-Design und lesen Sie anschliessend alles nochmal

Re: Zugriff auf externe Datenbank

am 04.06.2006 14:25:40 von Renata Nowak

Hallo,

danke für die schnelle Antwort. Der Zugriff auf die Datenbank scheint
tatsächlich gesperrt zu sein. In den FAQ von 1&1 habe ich folgenden Satz
gefunden:
"Der Zugriff auf diesen Datenbankserver und damit auf Ihre Datenbank ist
ausschließlich über Ihre Präsenz möglich."

Leider ist das kein Root-Server, sondern es handelt sich um normalen
Webspace. :(

Trotzdem Danke!

rena

Re: Zugriff auf externe Datenbank

am 04.06.2006 14:28:30 von Renata Nowak

Hallo Dominik,

> Es gibt aber noch ein paar alternative Wege, die aber ein bißchen davon
> abhängen, was du genau machen möchtest. Du könntest beispielsweise die
> Verbindung über SSH tunneln oder ein passendes PHP Skript auf dem
> entfernten Server ablegen, das die Abfragen für dich ausführt und das
> Ergebnis zurück liefert.
> Das hängt aber wie gesagt davon ab, was du eigentlich tun willst.

Das hört sich sehr interessant an. Ich möchte nur einige
Datenbankeinträge auslesen und ausgeben. Könntest du mir verraten bzw.
einen Link nennen, wo ich mehr Infos dazu finde, wie ich es über SSH
lösen kann?

Danke!

rena

Re: Zugriff auf externe Datenbank

am 04.06.2006 14:49:54 von Dominik Echterbruch

Renata Nowak wrote:
>
>> Es gibt aber noch ein paar alternative Wege, die aber ein bißchen
>> davon abhängen, was du genau machen möchtest. Du könntest
>> beispielsweise die Verbindung über SSH tunneln oder ein passendes PHP
>> Skript auf dem entfernten Server ablegen, das die Abfragen für dich
>> ausführt und das Ergebnis zurück liefert.
>> Das hängt aber wie gesagt davon ab, was du eigentlich tun willst.
>
> Das hört sich sehr interessant an. Ich möchte nur einige
> Datenbankeinträge auslesen und ausgeben. Könntest du mir verraten bzw.
> einen Link nennen, wo ich mehr Infos dazu finde, wie ich es über SSH
> lösen kann?

Das hört sich so an, als wolltest du das automatisiert machen. Dann
bietet sich die Variante via PHP Skript eher an, denke ich. Es sei denn,
du bekommst es hin, dich im Batch per SSH am entfernten Server anzumelden.

Per PHP hast du zwei Möglichkeiten:
- vom Client aus einen Socket aufmachen und darüber eine Anfrage an den
Server senden
- SOAP verwenden

Letzteres lohnt sich eigentlich nur, wenn du das öfter machst und dabei
komplexe Dinge tun möchtest. Näheres dazu gibt's sicherlich nebenan in
der PHP-Gruppe [1].

Also bleibt erstere Variante. Hier baust du dir einfach ein PHP-Skript,
das ein Argument übernimmt, eine entsprechende Anfrage an die DB schickt
und das Ergebnis zurückliefert. Dann mußt du das nur noch aufhübschen
und ausgeben.
Für die Socket-Verbindung habe ich auch mal irgendwann irgendwo im Netz
eine Klasse [2] gefunden. Näheres gibt es aber auch in diesem Fall nebenan.

[1] de.comp.lang.php
[2]
http://www.koders.com/php/fid31E4463C2036E5F9FE325D3138F51A6 AB8591835.aspx


Grüße,
Dominik
--
Norbert Melzer in d.c.d.mysql:
F: Wie verstehe ich diese FAQ am besten?
A: Studieren Sie Datanbank-Design und lesen Sie anschliessend alles nochmal

Re: Zugriff auf externe Datenbank

am 04.06.2006 15:29:30 von Norbert Melzer

Renata Nowak schrieb:
> Könntest du mir verraten bzw.
> einen Link nennen, wo ich mehr Infos dazu finde, wie ich es über SSH
> lösen kann?

Fällt für Dich flach, da Du ja wie Du selbst sagst, keinen (v)Root
Server hast.

> Danke!
>
> rena

Bitte,

Norbert

Re: Zugriff auf externe Datenbank

am 04.06.2006 23:02:00 von Renata Nowak

danke für die Antworten :)

noch eine Frage: würde es mit den PHP-Skripten überhaupt gehen, wenn
kein Root-Server zur Verfügung steht?

Gruß

rena

Re: Zugriff auf externe Datenbank

am 05.06.2006 00:05:58 von Stefan Lagotzki

Renata Nowak schrieb:
> danke für die Antworten :)
>
> noch eine Frage: würde es mit den PHP-Skripten überhaupt gehen, wenn
> kein Root-Server zur Verfügung steht?

Na klar. Bedingung ist, dass auf dem Webserver "B" PHP & MySQL für
Dich zur Verfügung stehen. Wenn das erst mal funktioniert, kannst Du
die Datenbankabfragen in PHP einbetten. Die PHP-Programme werden auf
den Server hochgeladen und können nun aus dem Browser oder auch mit
einem Kommandozeilenclient aufgerufen werden. Der Kommandozeilenclient
hätte den Vorteil, dass Du die Ergebnisse besser speichern oder weiter-
leiten kannst.

Stefan

..