PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mysql - C-API - Error 2005



tuxist-j0ker
06-04-2014, 07:37
Guten Morgen zusammen,

ich experimentiere aktuell ein bisserl mit der MySQL C-API.
Es soll ein kleines Projekt werden, welches Eingaben in meine MySQL Datenbank bei 1und1 schreiben soll.
Hab dazu natürlich erst mal mit Sample-Code gespielt (Galileo Computing / openbook):

int main (int argc, char *argv[]) {
MYSQL *my;
/* Handle initialisieren */
my = mysql_init(NULL);
if(my == NULL) {
fprintf(stderr, " Initialisierung fehlgeschlagen\n");
return EXIT_SUCCESS;
}

/* mit dem Server verbinden */
if( mysql_real_connect (
my, /* Zeiger auf MYSQL-Handler */
NULL, /* Host-Name */
NULL, /* User-Name */
NULL, /* Passwort für user_name */
NULL, /* Name der Datenbank */
0, /* Port (default=0) */
NULL, /* Socket (default=NULL) */
0 /* keine Flags */ ) == NULL) {
fprintf (stderr, "Fehler mysql_real_connect():"
"%u (%s)\n",mysql_errno (my), mysql_error (my));
}
else
printf("Erfolgreich mit dem MySQL-Server verbunden\n");

/* Hier befindet sich der Code für die Arbeit mit MySQL. */

/* Verbindung trennen */
mysql_close (my);
return EXIT_SUCCESS;
}

Beim Aufruf von mysql_real_connect habe ich meine Zugangsdaten zu der mysql Datenbank bei 1und1 übergeben.
Leider bekomme ich immer den "Error 2005: Unknown host"
Habe daraufhin natürlich mehrmals meine Eingaben geprüft, die Logindaten sollten stimmen.
In den Examples wird meist immer mit einem Lokalen MySQL Server gearbeitet. Liegt hier vielleicht der Hund begraben?
Wie verbinde ich zu einem MySQL Server außerhalb meines LANs ?

Vielen Dank!

Grüße

anda_skoa
07-04-2014, 08:25
"Uknown Host" klingt eher danach, dass der Rechner nicht erreichbar ist.

Kannst du bei Angabe des selben Namens bzw. der selben Adresse den Rechner mit ping erreichen?

Kannst du auf einen anderen Dienst auf diesem Rechner verbinden?

Generell würde ich davon abraten MySQL als extern erreichbaren Dienst zu konfigurieren, es gibt da Tools die danach suchen und dann Angriffe fahren.

Besser einen SSH Tunnel oder ähnliches für die Verbindung zum 1und1 Rechner benutzen und dann die Datenbankverbindung über diesen Tunnel laufen lassen.

Ciao,
_

tuxist-j0ker
07-04-2014, 16:56
Danke, für die Antwort. Werde das nochmal prüfen.
Kannst du mich auf ein gutes Howto verweisen, wo ich mir das mit dem SSH Tunnel anlesen kann?

Vielen Dank und Gruß

anda_skoa
08-04-2014, 07:47
Das hier sieht ganz gut aus, aber da lässt sich sicher auch noch anderes ergooglen :)
http://chamibuddhika.wordpress.com/2012/03/21/ssh-tunnelling-explained/

Ciao,
_

tuxist-j0ker
08-04-2014, 20:52
mein ergoogeltes war bisher nicht hilfreich, vielleicht klappt es damit :) ! Danke