phillip: Zugriff auf MySQL Datenbank von fremden PC

moin moin!

in unserem informatikkurs im 13. jahrgang planen wir zur zeit eine art "online reisebüro", das wir mittels php und einer mySQL datenbank im hintergrund realisieren wollen. dazu haben wir einen eigenen server im lokalen netzwerk mittels xampp installiert. soweit so gut. nun schreiben wir aber auch ein administrationsprogramm in delphi, das nicht auf dem server pc ausgeführt wird. das beudetet mit synonymen wie "localhost" kommt man da selbstverständlich nicht weiter. doch auch das eingeben der server ip in den datenbank settings lässt, wie erwartet, keine verbindung zu.
ich nehmen an, man kann irgendwo einstellen, dass anfragen an eine datenbank nicht nur von scripten ausgeführt werden können, die sich auf dem serverrechner befinden...? weiss dazu jemand näheres?

vielen dank für eure hilfe!
mfg, phillip

  1. ich nehmen an, man kann irgendwo einstellen, dass anfragen an eine datenbank nicht nur von scripten ausgeführt werden können, die sich auf dem serverrechner befinden...? weiss dazu jemand näheres?

    Das Rechtesystem von MySQL unterscheidet nicht nur User (und ihre Passwörter), sondern auch die Client-IPs.

    Damit man Zugang erhält, müssen IP bzw. DNS-Name, Username und Passwort stimmen. Und das bedeutet logischerweise, dass ein Account auch mit den passenden Daten angelegt wurde.

    Im Allgemeinen wird ein Account nämlich nur so angelegt, dass er von localhost zugreifen kann. Zugriffe über das Netzwerk funktionieren erst, wenn a) dafür ein weiterer Account (der gerne identische Usernamen und Passworte haben kann) angelegt wurde und b) MySQL mit TCP-Netzwerkfunktionalität gestartet wurde - denn ohne TCP gibts grundsätzlich keinen Netzwerkzugriff.

  2. ich nehmen an, man kann irgendwo einstellen, dass anfragen an eine datenbank nicht nur von scripten ausgeführt werden können, die sich auf dem serverrechner befinden...? weiss dazu jemand näheres?

    Ja, die Bedienungsanleitung. Auf die Idee seid Ihr nach 13 Jahren Schulen nicht selbst gekommen?

  3. Da du offensichtlich direkten Zugriff auf den Server hast, kann ich dir die MySQL Tools empfehlen, die es von MySQL gibt. Da ist unter anderem der MySQL Administrator dabei, da gehst du links auf Benutzerverwaltung, sodass unten links die registrierten Benutzer erscheinen. Da klickst du rechts auf den Benutzer, unter dem deine Clients sich verbinden, und dann auf "Add host..." und gibst nacheinander die IPs o.ä. von deinen Clients ein.

  4. echo $begrüßung;

    ich nehmen an, man kann irgendwo einstellen, dass anfragen an eine datenbank nicht nur von scripten ausgeführt werden können, die sich auf dem serverrechner befinden...? weiss dazu jemand näheres?

    Abgesehen von der Rechteverwaltung, lässt sich das Networking auch generell abschalten, so dass MySQL in keinem Fall Anfragen über das Netzwerk beachtet: skip-networking

    echo "$verabschiedung $name";