phpler
Goto Top

2003-Server: Nur mySQL-DB ansprechen

Hallo,

ich würde gern einen Rechner ausschliesslich für eine mySQL-Datenbank nutzen. Dazu gibt es eine feste IP. Die Installation von php und mySQL sowie das Ansprechen der Domain funktionierte auf diesem Windows 2003 Server zwar reibungslos, doch nun soll dieser nur noch und ausschliesslich die Datenbank bereitstellen.

Es gibt eine Domain bei einem Provider, wo php-Skripte laufen können; der Rechner bzw. die Domain ist über eine feste IP erreichbar. Die Skripte sollen u. a. auf den Datenbank-Rechner zugreifen.

Leider bekomme ich noch keine Verbindung zum Rechner, und ich weiss nicht, ob es daran liegt, dass über den Provider keine Verbindung zu einem anderen Rechner möglich ist oder ich einfach den W2K3-Rechner nicht korrekt konfiguriert habe.

Daher meine Fragen:
1. Welche Voraussetzungen (z. B. zwingend erforderliche Ports, die geöffnet sein müssen; welche Benutzer müssen unbedingt angelegt sein etc. pp.) müssen erfüllt sein, damit eine Verbindung von einem Rechner zur mySQL-DB möglich ist?
2. Können die Website-Dienste im IIS dazu sämtlichst beendet werden oder muss dazu zumindest die zugewiesene Domain aktiv sein?

Danke im Voraus!

Content-Key: 31581

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

Printed on: April 18, 2024 at 02:04 o'clock

Member: Dani
Dani May 03, 2006 at 06:28:36 (UTC)
Goto Top
Hallo,

Leider bekomme ich noch keine Verbindung zum
Rechner, und ich weiss nicht, ob es daran
liegt, dass über den Provider keine
Verbindung zu einem anderen Rechner
möglich ist oder ich einfach den
W2K3-Rechner nicht korrekt konfiguriert
habe.

Dies kannst du leicht feststellen. Beim anlegen von einen SQL-Benutzer, wird gefragt (host) von wo aus,der Benutzer zugreifen darf. Dort kannst du % (von allen => unsicher!) hinterlegen oder aber deine Domain (sicherer!).


1. Welche Voraussetzungen (z. B. zwingend
erforderliche Ports, die geöffnet sein
müssen; welche Benutzer müssen
unbedingt angelegt sein etc. pp.)
müssen erfüllt sein, damit eine
Verbindung von einem Rechner zur mySQL-DB
möglich ist?

Hi,
grundsätzlich braucht SQL den Port 3306. Einen Benutzer der "ROOT" Rechte auf jeden Fall. Dann für jede Bank 1 wenn nicht sogar 2. Kommt drauf an, was du vor hast.


Gruß
Dani
Member: phpler
phpler May 03, 2006 at 19:34:23 (UTC)
Goto Top
Hallo Dani,

danke für deine Infos.

Momentan bin ich immerhin soweit, dass ich den DB-Rechner von der Provider-Domain ansprechen kann: Der Fehler war, dass der DB-Host nicht als IP, sondern als Domain angegeben werden musste.

Mit den mySQL-Benutzern habe ich nun herumexperimentiert; von "@localhost" über "@<ip>" bis hin zu "%"; für alle erhalte ich nur noch diese Fehlermeldung:

Host 'www.xxx.de' is not allowed to connect to this MySQL server

Einen mySQL-Benutzer mit "@www.xxx.de" habe ich ebenfalls angelegt.


Weisst du noch einen Rat?
Member: Dani
Dani May 03, 2006 at 20:03:02 (UTC)
Goto Top
Hi,
könntest du mal posten, wie du die Verbindung aufbaust?!


Gruß
Dani
Member: phpler
phpler May 03, 2006 at 21:14:44 (UTC)
Goto Top
Hi Dani,
danke erstmal für dein Bemühen.

ok, dann versuch' ich's mal:

bei meinem 1. Domain-Provider (für "http://www.zzz.de") liegen php-Skripte. Dort wird in einem Skript (hier zu Testzwecken eine index.php in einem passwortgeschützten (.htpasswd) Verzeichnis) die Verbindung zur DB auf dem 2. Rechner per mysql_connect() hergestellt:

$verbindung = mysql_connect($host,$user,$passw) or die(mysql_error());

Als $host ist definiert: "http://www.yyy.info" (das ist meine andere Domain auf dem W2K3-Rechner; mit der Angabe der IP, die fest steht, wurde der Server nicht gefunden).
Als $user ist definiert: "username" (ohne "@"-Zusätze)
Als $passw ist definiert: Passwort des mySQL-Benutzers wie in der mysql-User-Tabelle eingetragen.

Zum Prüfen habe ich das Skript (auf dem 1. Rechner) vor dem Connect eine Ausgabe erstellen lassen und per die(); beendet; Die Ausgabe erfolgt, womit klar zu sein scheint, dass der Fehler durch den Versuch der mySQL-Verbindung entsteht.

Wie schon geschrieben, lautet die Fehlermeldung:
Host 'www.xxx.de' is not allowed to connect to this MySQL server

Ich habe auch explizit den Zugriff für die IP dieser Domain erlaubt; DNS-Lookup zeigt auch exakt diesen Hostnamen.


Ich hoffe, du kannst mit den Angaben etwas anfangen.
Member: Dani
Dani May 04, 2006 at 06:07:35 (UTC)
Goto Top
Hi
Mit den mySQL-Benutzern habe ich nun
herumexperimentiert; von
"@localhost" über
"@<ip>" bis hin zu
"%"; für alle erhalte ich nur
noch diese Fehlermeldung:

Gib mal statt % den FQDN an (vollen Domainname => www.test.de).


Gruß
Dani
Member: phpler
phpler May 05, 2006 at 16:55:04 (UTC)
Goto Top
Die Fehlermeldung

Host 'www.xxx.de' is not allowed to connect to this MySQL server

erscheint auch, wenn der Server, auf dem die mySQL-DB sein soll, weder eine mySQL-Installation hat noch über das Internet erreichbar ist.

Das englische "this" in obiger Fehlermeldung ist wohl irreführend, da angenommen wird, dass die Fehlermeldung vom angesprochenen mySQL-Server erzeugt werden könnte. Da ein solcher im vorliegenden Fall aber weder existiert noch erreichbar wäre, muss die Fehlermeldung von einer anderen Stelle erzeugt werden.

Meine Vermutung: Der Provider lässt eine Verbindung nur zu seinen eigenen Datenbank-Servern zu.
Member: Dani
Dani May 06, 2006 at 08:31:34 (UTC)
Goto Top
Hi,

Meine Vermutung: Der Provider lässt
eine Verbindung nur zu seinen eigenen
Datenbank-Servern zu.
Jo...so siehts leider aus. Du musst bei dem Anbierter auch den Webspace haben!


Gruß
Dani