Hallo!
Habe ich das jetzt richtig verstanden, dass Du zu einer Datenbank verbinden willst, die auf einem anderen Server liegt? Dann muss natürlich ein Portvorwarding für diesen Port eingerichtet sein, sonst kann die Verbindung nicht hergetellt werden.
Wie kommst Du darauf? Das ist reine Konfigurations-Sache ob der Server über einen TCP-Port von außen erreichbar ist. Dass dies bei 1und1 so vorgesehen ist steht in deren FAQ:
http://faq.1und1.de/hosting/scripte_datenbanken/php/3.html
Packete für Port 3306 dürfen aber auch nicht ausgefiltert werden.
Wer sagt dass das passiert? Ich denke die bei 1und1 wissen durchaus was sie tun.
Viele Provider haben den direkten Kontakt "von außen" mit MySQL abgestellt, da die 3er-Version noch Lücken im SAM bzw. SAD hatte.
Ist aber unwahrscheinlich wenn der Provider sagt man solle über Servernamen "xy" auf den im Hosting-Paket enthaltenen MySQL-Server zugreifen.
Ich habe das Problem auch, dass ich mit MySQL-Front nicht an die DB herankomme, obwohl es ein vServer ist. Ich habe bisher allerdings auch nicht gedrängelt, dass es behoben wird.
Das Problem hatte ich noch nie, und ich habe schon viele Versionen auf unterschiedlichen Betriebssystemen verwendet. Das ist eine simple Konfigurations-Angelegenheit wer von wo mit auf den Server zugreifen kann.
Denn an einer Online-Version sollte man keine Designänderungen im laufenden Betrieb vornehmen.
Das kommt drauf an, wenn mir das Feature wichtig ist, dann muss ich den Dienst halt mal eben neu starten, von mir aus um 4 Uhr morgens. Wenn ich zusätzlichen Clients Verbindungen ermögliche, würde ich das nicht wirklich als "Designänderung" bezeichnen, denn für bestehende Anwendungen ändert sich rein gar nichts.
Mit SSH und "mysql" funktioniert das natürlich trotzdem.
Du meinst also einen Zugriff von außen? Ja, ich würde nach Möglichkeit niemals den MySQL Port nach außen öffnen, denn auch neuere Versionen von mysqld enthielten schon Fehler die man ausnutzen konnte. Ich verstehe natürlich auch, dass man im shared hosting nicht auf jedem Web-Server mysql installieren möchte (wobei ich das an deren Stelle trotzdem machen würde, wie es einige Provider praktizieren), und schon gar nicht jedem User einen Shell-Account geben möchte :)
Keine Regel ohne Ausnahme, würde ich sagen. Jedenfalls gehört es eher zum Alltagsszenario, zu einer MySQL-DB mittels TCP Kontakt aufzunehmen.
Bist Du sicher, dass 1&1 das zulässt?
Siehe FAQ-Link oben.
Sie hat ja schon beim Socket Probleme und nicht erst beim Login.
Wir kennen das komplette Script nicht, also kann man das noch gar nicht wirklich so genau sagen ;-)
Dazu muss dann natürlich auch ein (weiterer) User eingerichet werden, da si dann nicht user@localhost ist, sondern user@<ip>. Und da nun user@% einzustellen, halte ich doch für waghalsig.
Wie gesagt, ich denke 1und1 macht sowas nicht zum ersten mal ;-)
Grüße
Andreas