mysql auf anderen Host als "localhost"

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

mysql auf anderen Host als "localhost"

Postby Bonzo1993 » 10. September 2008 01:14

Hi @ all,
ich möchte mit einem PHP Skript welches auf meinen lokalen Apache und PHP Server liegt eine Verbindung zu einem Mysql Server, auf einem entfernten Host, (also nicht localhost), herstellen.
Diesen Server stellt zur Zeit mein anderer Rechner dar ;) Dieser ist unter der Adresse nas900.serveftp.net (von DynDNS) fest erreichbar.
Was ich bis jetzt gemacht hab:
in der my.cnf per editor bei skip-networking das Kommentar entfernt, bei meinem Router das Port 3306 (UDP und TCP) auf meinen Mysql Server geforewardet und in der mysql Datenbank in der Tabelle user einem neuen Eintrag hinzugefügt (Einaml mit Host-Wert, die IP des Rechner der auf den Server zugreifen will und einmal mit host-Wert "&", was angeblich für alle Hosts gelten soll).
Doch bis jetzt erhalte ich bis jetzt bei ausführung folgendes Skriptes:
Code: Select all
<?php
  $con = mysql_connect("nas900.serveftp.net", "internet", "");
?>

Immer die Fehlermeldung:
Code: Select all
Warning: mysql_connect() [function.mysql-connect]: Host '213.202.241.199' is not allowed to connect to this MySQL server in /usr/export/www/vhosts/funnetwork/hosting/youthcommunity/connector.php on line 2


Habe ich irgendwo einen Fehler gemacht oder etwas vergessen?
Ich hoffe ihr könnt mir helfen.
Bonzo1993
 
Posts: 7
Joined: 05. July 2008 17:17

Re: mysql auf anderen Host als "localhost"

Postby glitzi85 » 10. September 2008 01:27

Bonzo1993 wrote:und einmal mit host-Wert "&", was angeblich für alle Hosts gelten soll)

Aber auch nur angeblich ;-)
http://dev.mysql.com/doc/refman/5.0/en/ ... ccess.html

Abgesehen davon solltest du mal genau beschreiben wie dein Netz aufgebaut ist. Normalerweise werden DynDNS-Adressen, die in's eigene Netz zeigen nicht in's internet geroutet, da NAT die direkt am LAN-Port umbiegt. Somit ist die Absender-Adresse die des PCs, für alle Anfragen von draußen hingegen die des Routers.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby Bonzo1993 » 11. September 2008 00:07

also wir müssens gar net so kompliziert machen ;)
Der Mysql und Apache Server sind über nas900.serveftp.net erreichbar (und laufen bei mir Zuhause auf meinem Desktop).
In der DB "mysql" ist in der Tabelle "user" ein User namens "internet" eingetragen bei dem im Feld Host "%" steht und das pw feld ist erstmal leer.
So wenn ich nun obiges (im ersten Post) Skript auf einem anderen (als localhost) PHP Server ausführe (zum Beispiel auf dem meine Hosters, oder auf dem Rechner eines Freundes, ...), dann führt das nur zu folgender Fehlermeldung:
Code: Select all
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'internet'@'213.202.241.199' (using password: NO) in /usr/export/www/vhosts/funnetwork/hosting/youthcommunity/connector.php on line 2


Jetzt habe ich irgendwo gelesen das man in der my.cnf Datei (xampp/mysql/bin) das Kommentar von skip-networking entfernen soll.
Aber dann antwortet der Server nicht mehr, weder wenn man sich lokal oder über remote anmeldet. Das PHP Skript liefert dann folgenden Fehler
Code: Select all
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'nas900.serveftp.net' (4) in /usr/export/www/vhosts/funnetwork/hosting/youthcommunity/connector.php on line 2


Also hab ich skip-networking derzeit wieder auskommentiert.
Das ist also der Stand der Dinge bis jetzt, ich hoffe das schafft mehr Verständnis! ;)
Bonzo1993
 
Posts: 7
Joined: 05. July 2008 17:17

Postby glitzi85 » 11. September 2008 00:42

Hallo,

naja, das Kommentarzeichen vor skip-networking entfernen KANN nicht funkionieren, da skip überspringen bedeutet. Damit startest du MySQL gänzlich ohne Netzwerksupport. Du kannst dann also nur noch mit Kommandozeilen-Tools arbeiten. Ist ja nicht gerade das was du willst ;-)

Zumindest ist die Sache mit DynDNS jetzt klarer. Dein Port-Forwarding funktionier scheinbar auch.

Hab jetzt ein bisschen in der MySQL-Doku gelesen, da hab ich zwar nichts explizites gefunden, aber in einem User-Comment ist die Rede davon, dass der Hostname vom Remote-Host mitgeliefert wird. Dadurch hast du natürlich ein problem. MySQL bekommt eine Verbindung von der IP 192.168.0.1 (angenommen das sei deine interne Router-IP). Du versuchst dich jedoch mit 'internet'@'213.202.241.199' anzumelden. Ich geh davon aus dass das MySQL Kopfschmerzen bereitet. Allerdings hab ich keine Ahnung ob das wirklich so ist. Falls du noch einen Rechner im LAN hast versuch mal von da aus zuzugreifen. Wenn das klappt, dann liegt's definitiv am NAT. Wenn das der Fall ist, dann weiß ich allerdings auch nicht wie man das behebt :(

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 2 guests