Zugriff auf lokale Datenbank

Hallo zusammen,

mit mysql_connect(“localhost”, “btrdb”, “******”) kann ich ja auf meine MySQL-Datenbank zugreifen. Aber gibt es auch eine Möglichkeit auf eine Datenbank zuzugreifen, die ich lokal auf meinem Rechner installiert habe?

Mfg,
Alex

Hi,

ja - das ist möglich. Dafür musst du anstelle von localhost deine Adresse/IP von deinem heimischen PC angeben und die Datenbankdaten anpassen.

Hallo,

danke für die Antwort. Woher kenne ich die IP von meinem PC, wenn ich sie in der Konfiguration automatisch vergeben lasse?

EDIT: Ist die gemeint, die ich bei der Eingabe von ipconfig in der Konsole bekomme? Wäre mysql_connect(“192.168.xxx.xxx”, “root”, “****”) richtig, wenn “root” so eingestellt ist, dass von jedem Host zugegriffen werden kann?

Mfg

Hi,

die IP wird dir von Telecom o.ä. (deinem Internetanbieter) zugewiesen. Du hast warscheinlich im Router eingeben er soll die internen IPs automatisch vergeben (z.b. 192.168.178.xx) mit der kannst du aber nichts im Internet anfangen.

D.h. du musst deine externe IP herausfinden (www.wieistmeineip.de) und dann im Router die Ports für die MySQL Datenbank freigeben welche das genau sind kann ich dir im Moment nicht sagen muss ich selber nachschauen.

Außerdem gibts dann noch das Problem wenn du keine Standleitung hast(d.h. immer die gleiche IP) ändert sich die IP alle 24h. Dann bräuchtest du noch so einen Dienst wie DynDNS.

Hoffe ich konnte es dir einigermaßen gut erklären.

Lieben Gruß Flo

Zu deinem Edit genau das ist die interne IP adresse (die du vom Router o.ä. bekommst) mit der kannst du im Internet nichts anfangen.

P.S.: Du brauchst deine IP eigentlich nicht zensieren :wink:

edit: Sonst wäre es aber vom Prinzip her richtig. Wie gesagt Port weiterleiten / freigeben

Danke!!!

Was für eine Möglichkeit gäbe es denn noch, wenn ich bei meinem Router keine Ports freischalten könnte?

Mfg

hi,

du kansnt eigentlich bei jedem Router die Ports selbst regulieren…

Eine Alternative dazu ist technisch gesehen eher unmöglich…

Mmh, bloß habe ich hier nicht einen Router, sondern einen eigenen Server mit vielen angeschlossenen Rechnern. Ich habe überhaupt keine Ahnung, wie ich auf den Router zugreifen kann.

Wäre eine Lösung mit SSH auch noch möglich?

Hi,

warscheinlihc fungiert der Server dann als Router … aber so ohne genauere Infos kann man das nicht sagen das einzige was ich im moment noch wüsste wäre wenn du einen VPN Tunnel zu einem anderen Rechner machst der immer an ist und auf dessen Router du zugreifen kannst. Sinnvoll ist das natürlich nicht so wirklich aber noch eine möglichkeit.

Was für ein Betriebssystem ist auf dem Server? Ist vor dem Server sicher kein Router o. Modem etc.?
Könntest du nicht “einfach” die Datenbank auf den bplaced server legen?

lg floo

Nee, so einfach ist das nicht. Sagen wir 5 Benutzer benutzen einen Datenbank zur lokalen Verwaltung von Videos. Manche davon sind so klasse, dass der Benutzer diese gerne mit den anderen Benutzern teilen möchte. Dazu macht er ein “Häkchen” ( ein “true”, eine “1”, etc. ) an den Beitrag in der Datenbank. Wenn er sich jetzt auf meinen Server online einloggt, würde ich gerne seine Datenbank automatisch auslesen und alle Beiträge mit “Häkchen” der Datenbank hinzufügen, die online und für jeden zugänglich ist. Ich hoffe, dass ich das verständlich geschildert habe. Wie kann ich das lösen?

Hi

ok … ja verständlich geschrieben 2 Ideen hätte ich noch.

Wenn der Server ein Linux is apache und php und mysql verbindung drauf insterlieren und dort die page online stellen (und leider port 80 öffnen:().

oder

Täglich ein Datenbank Backup machen und auf bplaced servern einlesen. MySQLdumper z.b. aber in wie fern das automatisch machbar ist kann ich dir nicht sagen… Sorry

lg flo

und noch viel erfolg mit deinem problem

Ach neuerdings gibts im phpmyadmin ne function syncronisieren ABER ob das auf bplaced geht glaub ich nicht da ja auch andere functionen (z.b.:furl) auch abgeschaltet sind.

edit: Meinte fsockopen

Was wäre denn, wenn ich einfach eine PHP-Datei hätte, die lokal auf dem Rechner jedes einzelnen Benutzers liegt und die jeweilige Datenbank ausliest und die gewünschte Informationen als XML-Datei oder wie auch immer ausgibt. Auf meinem Online-Server habe ich dann eine PHP-Datei, die mit include(“http://localhost/programm/gibmirinfos.php”) diese lokale PHP-Datei ausführt und ausließt. So käme ich doch auch an meine Informationen. In der PHP.ini müsste nur “allow_url_include=On” gesetzt werde.

Mit php kannst du meiner Info nach das nicht auf bplaced tun da diese funktion nicht aktiviert wird.
Aber du könntest die datei mit JS auswerten …
Sollen die Videos eigentlihc nur unter den 5 Benutzern ausgetauscht werden oder für alle öffentlich gemacht werden?

Wenn es nur für die 5 nur sein sollte kannst du es ja auch local machen…

P.S.: die adressse in include kann nicht klappen :slight_smile: mit localhost würde sich der bplacedserver selber ansprechen was vermutlich nen fehler produziert.

Also mit AJAX kann ich auch keine externe Datei einbinden. Was ich machen kann, ist über include(“http://btrdb.bplaced.net/datei.php”) eine Datei in mein lokales Skript einbinden, wenn “allow_url_include=On” gesetzt ist.

Du kannst einen externen Dienst verwenden, der Datenbank-Hosting anbietet und von zuhause und von bplaced aus auf diesen zugreifen.

Wie wäre es wenn du vom Lokalen Server aus auf den bplaced Server zugreifst, z.B eine Datei mit den änderungen per ftp hochlädtst, was ja lokal mit conjob kein problem wäre. bzw. scriptaufruf die änderung in ne datei schreibst und dann hochlädst.

auf bplaced selbst prüfst du dann beim login ob eine datei zum einlesen vorhanden ist, falls ja einlesen und anschließend löschen.

allerdings weiß ich nicht was allein der db eintrag bringt!