MySQL über ssh

  • Themenstarter Themenstarter kalle123456
  • Beginndatum Beginndatum
K

kalle123456

Hallo,

ich habe einen SSH Tunnel zu einen zweiten server hergestellt.

Code:
ssh -L 3306:127.0.0.1:3306 user@remoteserver

Verbindung klappt. Weiterhin mysql auf Konsole getestet...
Code:
mysql -h localhost -u user -pmein_pass

klappt auch wunderbar. Aber wie bekomme ich jetzt php dazu überredet, diesen Tunnel zu nutzen?

PHP:
$mysqlhost="localhost:3306"; // MySQL-Host angeben
$mysqluser="user"; // MySQL-User angeben
$mysqlpwd="pass"; // Passwort angeben
$mysqldb="datenbankname"; // Gewuenschte Datenbank angeben
$connection = mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die ("Verbindungsversuch fehlgeschlagen");

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");
echo "Verbindung zur Datenbank erfolgreich <br>\n&nbsp;<br>\n";
so bekomme ich immer nur einen Fehler "Access denied", was mache ich verkehrt?

Gruss
 
Gut ich antworte mir mal selber...
also der Tunnel darf nicht den gleichen Port haben, weil schon local eine Instanz auf Port 3306 läuft.
Code:
ssh -L 3307:localhost:3306 user@remotehost

und in PHP muss die Connection folgendermaßen aussehen.

PHP:
$mysqlhost="127.0.0.1:3307"; // MySQL-Host angeben
$mysqluser="user"; // MySQL-User angeben
$mysqlpwd="passwort"; // Passwort angeben
$mysqldb="datenbank"; // Gewuenschte Datenbank angeben
$connection = mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die ("Verbindungsversuch fehlgeschlagen");

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");
echo "Verbindung zur Datenbank erfolgreich <br>\n&nbsp;<br>\n";

jetzt noch schnell ein init script geschrieben und alles ist schön :)
 
Zuletzt bearbeitet von einem Moderator:
Zurück