itebob
Goto Top

MySQL-Datenbank per symbolischen Link verfügbar machen

in einem funktionierenden PHP-Projekt auf dem WebspaceA, das mit einem symbolischen Link vom WebspaceB eingebunden ist, werden die Datenbankinhalte nicht geladen. Die PHP-Skripts vom WebspaceA werden dabei ausgeführt. Die Datenbank ist MySQL. Es ist ein Debian-System. Ich bin Anregungen, Tipps interessiert, mit welchen Suchbegriffen ich mich hier schlau machen kann, um die MySQL vom WebspaceA auf dem WebspaceB verfügbar zu machen.

Ich habe diese Anleitung Debian – MySQL externen Zugriff konfigurieren gefunden. Verstehe ich es richtig, dass der Zugriff _entweder_ per 'localhost' _oder_ per externe IP-Adresse möglich ist?

Content-Key: 281659

Url: https://administrator.de/contentid/281659

Printed on: April 16, 2024 at 04:04 o'clock

Member: kaiand1
kaiand1 Aug 31, 2015 updated at 17:35:19 (UTC)
Goto Top
Etwas verwirrend geschrieben.
Du hast 2 Webaccounts auf einen Server und von Webaccount 2 geht der Zugriff auf die Db nicht?
Dann sind die Zugangsdaten falsch bzw der User hat kein Recht auf die DB zuzugreifen.
localhost bzw 127.0.0.1 als host probiert?
Member: itebob
itebob Aug 31, 2015 at 18:13:13 (UTC)
Goto Top
auf dem WebspaceA liefert die MySQL-DB die Daten für die PHP-Seiten. Die Anbindung der MySQL-DB funktioniert auch einwandfrei, solange die PHP-Seiten über die IP-Adresse vom WebspaceA ausgeführt werden. Wenn das Verzeichnis mit den gleichen PHP-Seiten über die IP-Adresse, die dem WebspaceB zugeordnet ist, ausgeführt werden, werden die PHP-Seiten korrekt ausgeliefert - ausser der Daten aus der MySQL-DB - die werden nicht angezeigt. Die MySQL-Zugangsdaten sind in einer Conf-Datei im PHP-Projekt abgelegt.
localhost bzw 127.0.0.1 als host probiert?
Ja - ist die Standardeinstellung und vom WebspaceB führt nicht zum Erfolg.
Mitglied: 122990
122990 Aug 31, 2015 updated at 18:25:09 (UTC)
Goto Top
Moin,
wenn die zwei unterschiedlichen Webpakete bei einem Hoster liegen wirst du da kaum Erfolg haben, denn normalerweise sind die Instanzen so voneinander getrennt das ein Zugriff auf die SQL Instanz aus einem fremden Paket nicht möglich ist, das wäre ja auch fatal für die Sicherheit der Kunden.
Außer du hast zwei Root-Server mit vollem Konfigurationszugriff auf die MySQL Instanzen und deren Config.
Bedenke ebenfalls das der SQL-Fernzugriff unsicher ist da alles unverschlüsselt über die Leitung geht...

Du könntest dir da höchstens ein Proxy-PHP-Script schreiben über das das zweite Paket seine Daten bezieht und das Script seinerseits die Daten aus der DB zieht.

Gruß grexit
Member: wiesi200
wiesi200 Aug 31, 2015 at 18:23:44 (UTC)
Goto Top
Hallo,

die frage die sich mir stellt ist ob der MySQL solche Remotezugriffe überhaupt zulässt. Meist gibt es hierzu beschränkungen
Member: itebob
itebob Sep 01, 2015 updated at 06:58:40 (UTC)
Goto Top
Zitat von @122990:
wenn die zwei unterschiedlichen Webpakete bei einem Hoster liegen wirst du da kaum Erfolg haben, denn normalerweise sind die
Instanzen so voneinander getrennt das ein Zugriff auf die SQL Instanz aus einem fremden Paket nicht möglich ist

Zitat von @wiesi200:
die frage die sich mir stellt ist ob der MySQL solche Remotezugriffe überhaupt zulässt. Meist gibt es hierzu
beschränkungen.

Wenn wiesi200 die Beschränkungen seitens des Webspace-Providers meint, in meinem Projekt spiele ich selbst den Webspace-Provider. Und ich bin an Anregungen, Lösungsansätzen interessiert, was technisch machbar ist, um das PHP-Projekt vom WebspaceA auf dem WebspaceB sowie auf weiteren Webspaces verfügbar zu machen.

Die User vom WebspaceB, WebspaceC usw. greifen auf eigene Datenbanken zu. Der WebspaceA ist Webspace des Webspace-Providers.
Member: itebob
itebob Sep 01, 2015 updated at 07:24:14 (UTC)
Goto Top
Moin,
Zitat von @122990:
wenn die zwei unterschiedlichen Webpakete bei einem Hoster liegen wirst du da kaum Erfolg haben, denn normalerweise sind die
Instanzen so voneinander getrennt das ein Zugriff auf die SQL Instanz aus einem fremden Paket nicht möglich ist,

In meinem Projekt spiele ich selbst den Webspace-Provider.

Außer du hast zwei Root-Server mit vollem Konfigurationszugriff auf die MySQL Instanzen und deren Config.
Bedenke ebenfalls das der SQL-Fernzugriff unsicher ist da alles unverschlüsselt über die Leitung geht...

Ich spiele selbst den Webspace-Provider und habe vollen Konfigurationszugriff auf die MySQL-Instanzen und deren Config.

Zitat von @122990:
Du könntest dir da höchstens ein Proxy-PHP-Script schreiben über das das zweite Paket seine Daten bezieht und das
Script seinerseits die Daten aus der DB zieht.

Kannst du mit ein Paar sätzen präzisieren, wie man mit diesem Proxy-Lösungsansatz ein PHP-Projekt vom WebspaceA auf dem WebspaceB ausführen kann?

Vlt. gibt es einen einfacheren Lösungsansatz, um das Ziel zu erreichen? Ich suche eine Lösung, die dafür sorgt, dass _ein_ PHP-Projekt von WebspaceB, WebspaceC usw. ausgeführt wird. Wobei das PHP-Projekt jeweils mit Daten aus der MySQL-DB für WebspaceB, WebspaceC usw. ausgeführt wird.

Eigentlich kann der WebspaceB mit den Skripts aus dem PHP-Projekt auf die MySQL-DB zugreifen - aber nur wenn diese Skripts physisch auf dem WebspaceB gespeichert sind. Sobald ich die gleiche PHP-Skripts auf dem WebspaceA speichere und per symbolischen Link auf dem WebspaceB verfügbar mache, werden die PHP-Skripts zwar ausgeführt, die Daten aus der MySQL-DB werden aber nicht geladen.

Gruss, Gustav
Mitglied: 122990
122990 Sep 01, 2015 updated at 07:44:00 (UTC)
Goto Top
Wenn das alles LAN-Intern stattfindet kannst du den Remote-Zugriff von mySQL aktivieren, denn Standardmäßig erlaubt dieser nur Datenbank-Zugriff vom selben Host da der Dienst auf das Loopback-Interfacs gebunden ist.
https://rtcamp.com/tutorials/mysql/remote-access/

Deine Netzwerkstruktur und dein Vorhaben ist aber ziemlich wirr beschrieben, und mir der Zweck nicht ganz klar.

Ein Proxy-Script reicht einfach Parameter an ein Skript weiter das auf dem Host läuft wo die Datenbank liegt. Als Ausgabe liefert das Skript dann die Ergebnisse der Datenbankabfrage z.B. im JSON Format aus.
Member: wiesi200
wiesi200 Sep 01, 2015 at 07:45:21 (UTC)
Goto Top
Zitat von @122990:

Wenn das alles LAN-Intern stattfindet kannst du den Remote-Zugriff von mySQL aktivieren, denn Standardmäßig erlaubt
dieser nur Datenbank-Zugriff vom selben Host da der Dienst auf das Loopback-Interfacs gebunden ist.
https://rtcamp.com/tutorials/mysql/remote-access/

Deine Netzwerkstruktur und dein Vorhaben ist aber ziemlich wirr beschrieben, und mir der Zweck nicht ganz klar.

Ich schließ mich jetzt da mal an.
Gründsätzlich sind die Fragen von unserem TO immer relativ wirr beschrieben und es fehlen immer wichtige Details um die von ihm gewünschten "Ziehlführenden" Antworten zu liefern.

Der Umstand sollte doch mal schleunigst etwas besser werden.
Member: itebob
itebob Sep 01, 2015 updated at 10:29:11 (UTC)
Goto Top
Danke für die hilfreiche Tipps.

Zitat von @wiesi200:

Ich schließ mich jetzt da mal an.
Gründsätzlich sind die Fragen von unserem TO immer relativ wirr beschrieben und es fehlen immer wichtige Details um die
von ihm gewünschten "Ziehlführenden" Antworten zu liefern.

Der Umstand sollte doch mal schleunigst etwas besser werden.

Zitat von @122990:

Wenn das alles LAN-Intern stattfindet kannst du den Remote-Zugriff von mySQL aktivieren, denn Standardmäßig erlaubt
dieser nur Datenbank-Zugriff vom selben Host da der Dienst auf das Loopback-Interfacs gebunden ist.

Was meinst du unter "das alles"? Die User vom WebspaceB und weiteren Webspaces müssen die Möglichkeit haben die PHP-Skripts vom WebspaceA per Zugriff über eine an den jeweiligen Webspace userwebsiteXYZ.de gebundene Internet-Adresse auszuführen. Bspw. so http://userwebsiteXYZ.de/dbchange/

Die im Startbeitrag beschriebene PHP-Lösung auf dem WebspaceA ist eine Entwicklungsumgebung. Das Ziel der Entwicklung ist die viele userspezifische Versionen der PHP-Skripte abzulösen. Es besteht die Möglichkeit, die Konfigurationseinstellungen des DB-Servers sowie des Webservers Apache anzupassen mit dem Ziel die PHP-Lösung vom WebspaceA mit Rücksicht auf Sicherheitsanforderungen umzusetzen.

https://rtcamp.com/tutorials/mysql/remote-access/

Deine Netzwerkstruktur und dein Vorhaben ist aber ziemlich wirr beschrieben, und mir der Zweck nicht ganz klar.

Dies
336b63549eede181a9bf5e275e0adbd5
ist mein Versuch in der Sache mehr Klarheit zu schaffen.

Momentan ist es so umgesetzt, dass die Zugangsdaten für die Userdatenbank im Userprofil im Verzeichnis mit PHP-Skripten und nicht in der MySQL-Datenbank gespeichert sind. Es ist offensichtlich, dass dies kein optimaler Zustand ist. Dieser Zustand ist historisch bedingt und hat den Hintergrund, dass bis dato pro Userwebspace userspezifische Versionen der PHP-Skripte verwendet wurden bzw. immer noch verwendet werden. Die existierende userspezifische PHP-Skripte greifen auf die Datenbank per 'localhost' zu.

Gruss, Gustav
Mitglied: 122990
122990 Sep 01, 2015 updated at 10:28:29 (UTC)
Goto Top
Nee, sowas macht man mit klassenbasierter Programmierung mit Frontend und Backend Separierung wenn man redundanzen vermeiden will.
Und Usern die man als WebUser anlegt Rechte auf Dateien auf Fileebene zu geben macht man auch nicht, sondern über eine Rechte-Datenbank.