Seite mit Datenbank auf neuen Server übertragen
Hallo zusammen,
ich habe eine Internetseite auf einem Server liegen, die ich gerne bei Strato unterbringen möchte.
Die Dateien habe ich vom "alten Server" herunterkopiert und mit Filezilla zu Strato gebracht. Dort habe ich auch eine Datenbank angelegt, die leider nicht den selben Namen trägt, da ich bei Strato den Datenbanknamen vorgeschrieben bekomme.
Die Datenbank war auf dem alten Server mit phpmyadmin 2.6.4 und MySQL 5.0.75 gegeben. Nun muss ich beim neuen Hoster phpmyadmin 3.5.3 und MySQL 5.2 nutzen.
Die Zugangsdaten habe ich für den Datenbankzugriff auf den neuen Zugang geändert und auch einige Pfade musste ich anpassen.
Die Seite wird problemlos aufgerufen. Wenn ich mich anmelden möchte, habe ich immer die Fehlermeldung, dass kein Datenbankzugriff besteht oder dass die mysql.sock nicht im Verzeichnis tmp zu finden ist. Die ist tatsächlich nicht vorhanden; auch nicht an anderer Stelle.
Nun weiß ich nicht weiter.
Vielen Dank für Denkanstöße und Hilfe!
marave
ich habe eine Internetseite auf einem Server liegen, die ich gerne bei Strato unterbringen möchte.
Die Dateien habe ich vom "alten Server" herunterkopiert und mit Filezilla zu Strato gebracht. Dort habe ich auch eine Datenbank angelegt, die leider nicht den selben Namen trägt, da ich bei Strato den Datenbanknamen vorgeschrieben bekomme.
Die Datenbank war auf dem alten Server mit phpmyadmin 2.6.4 und MySQL 5.0.75 gegeben. Nun muss ich beim neuen Hoster phpmyadmin 3.5.3 und MySQL 5.2 nutzen.
Die Zugangsdaten habe ich für den Datenbankzugriff auf den neuen Zugang geändert und auch einige Pfade musste ich anpassen.
Die Seite wird problemlos aufgerufen. Wenn ich mich anmelden möchte, habe ich immer die Fehlermeldung, dass kein Datenbankzugriff besteht oder dass die mysql.sock nicht im Verzeichnis tmp zu finden ist. Die ist tatsächlich nicht vorhanden; auch nicht an anderer Stelle.
Nun weiß ich nicht weiter.
Vielen Dank für Denkanstöße und Hilfe!
marave
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 207401
Url: https://administrator.de/contentid/207401
Ausgedruckt am: 25.11.2024 um 15:11 Uhr
45 Kommentare
Neuester Kommentar
Hallo,
Ggf. mal mit
http://php.net/manual/de/function.error-reporting.php
auf Probleme analysieren.
Gruß
@d4shoerncheN
das ist ja eine schnelle Antwort.
man tut was man kann Ich benutze kein vordefiniertes CMS.
Okay. Mal in deine "config.php" geschaut, in der deine Seite eine Verbindung zu deinem SQL-Server aufbaut? Eventuell Teile deines Scriptes hier einmal bereit stellen (Zugangsdaten anonymisieren), damit wir dir besser helfen können.Ggf. mal mit
http://php.net/manual/de/function.error-reporting.php
auf Probleme analysieren.
Gruß
@d4shoerncheN
Hallo,
Du kannst ja erst einmal deine Ordnerstruktur hier aufschreiben, beispielhaft:
einzelne Bilder spielen dort jetzt keine große Rolle. Da sind die .php-Dateien ehr interessant.
Gruß
@d4shoerncheN
Jetzt halt mich nicht für bekl... Ich habe keine config.php!
das habe ich auch nicht vor. Habe sie extra in "" gesetzt. In irgendeiner deiner Dateien muss ja eine Verbindung zur Datenbank aufgebaut werden. Einige packen es direkt auf die .php-Seite wo es aufgerufen wird, andere lagern es in eine externe Datei aus (z. B. config.php).Du kannst ja erst einmal deine Ordnerstruktur hier aufschreiben, beispielhaft:
root
- images
-- logos
- css
- jss
index.php
.htaccess
einzelne Bilder spielen dort jetzt keine große Rolle. Da sind die .php-Dateien ehr interessant.
Gruß
@d4shoerncheN
Hallo,
vielen Dank.
Poste mal den Inhalt der Dateien db.php und db_login.php. Setz diese am Besten hier im Forum in Code-Tags <c ode>DEIN-CODE (ohne Leerzeichen).
Gruß
@d4shoerncheN
vielen Dank.
Poste mal den Inhalt der Dateien db.php und db_login.php. Setz diese am Besten hier im Forum in Code-Tags <c ode>DEIN-CODE (ohne Leerzeichen).
Gruß
@d4shoerncheN
Moin,
danke. Und die Daten:
in beiden Dateien stimmen mit der aktuellen DB-Konfiguration überein?
Gucke morgen wieder rein, falls keiner mehr antwortet vorher. Bin nun unterwegs, schönen Abend dir.
Gruß
@d4shoerncheN
danke. Und die Daten:
$db_server = 'rdbms.strato.de';
$db_benutzer = 'xxx';
$db_passwort = 'xxx';
$db_name = 'xxx';
Gucke morgen wieder rein, falls keiner mehr antwortet vorher. Bin nun unterwegs, schönen Abend dir.
Gruß
@d4shoerncheN
Hi marave
Meine Zeit bei Strato ist schon bisschen her, aber ich vermute mal die Datenbank bei Strato kann nur von localhost angesprochen werden? Versuche mal den Host auf "%" (Prozentzeichen) zu ändern.
Hintergrund: Der Zugriff von externen IPs wird sonst geblockt.
Wenn du die IP deines Webservers weisst (sollte über phpinfo() herauszufinden sein) kannst du auch direkt diese eintragen. Ist weitaus sicherer, als den Zugriff von allen externen Adressen zuzulassen
Gruss
Meine Zeit bei Strato ist schon bisschen her, aber ich vermute mal die Datenbank bei Strato kann nur von localhost angesprochen werden? Versuche mal den Host auf "%" (Prozentzeichen) zu ändern.
Hintergrund: Der Zugriff von externen IPs wird sonst geblockt.
Wenn du die IP deines Webservers weisst (sollte über phpinfo() herauszufinden sein) kannst du auch direkt diese eintragen. Ist weitaus sicherer, als den Zugriff von allen externen Adressen zuzulassen
Gruss
Hintergrund: Der Zugriff von externen IPs wird sonst geblockt.
Der Datenbankserver bei Strato ist ein anderer, als der Webserver, der die PHP-Scripte ausführt und die Verbindung zur Datenbank herstellt. Hätte ich dazuschreiben sollte, entschuldige.
Gruss
Hi,
könnte es vielleicht sein, dass es kein Verbindungs-Problem mit der Datenbank ist, sondern ein Problem an den Verzeichnisrechten?
Ich mach mit PHP-Portalen nur hin und wieder was, aber hatte da auch mal eine komische Fehlermeldung und dann war's ein Problem mit dem Verzeichnisrechten (z.B. auf tmp oder log).
Nur mal als Idee, vielleicht hilft's ja.
mfg
n4426
könnte es vielleicht sein, dass es kein Verbindungs-Problem mit der Datenbank ist, sondern ein Problem an den Verzeichnisrechten?
Ich mach mit PHP-Portalen nur hin und wieder was, aber hatte da auch mal eine komische Fehlermeldung und dann war's ein Problem mit dem Verzeichnisrechten (z.B. auf tmp oder log).
Nur mal als Idee, vielleicht hilft's ja.
mfg
n4426
Guten Morgen,
könntest du einmal den Link zu deiner Seite posten?
Handelt es sich nun um einen vServer? Welches Paket bei Strato hast du gekauft? Hast du SSH-Zugang auf diesen Server?
Kannst du mit externen Programmen wie Workbench etc. auf deine Datenbank zugreifen von außen? Rede nicht von den, auf dem Server installierten, Programmen - sondern wirklich externe DB-Verwaltungstools benutzen (z. B. Workbench).
Leider hast du auch noch nicht die exakte Fehlermeldung hier gepostet, lautet die eventuell:
Gruß
@d4shoerncheN
könntest du einmal den Link zu deiner Seite posten?
Handelt es sich nun um einen vServer? Welches Paket bei Strato hast du gekauft? Hast du SSH-Zugang auf diesen Server?
mysql.sock
Die Datei wird normalerweise auch vom Server direkt erstellt. Ist die Datei nicht vorhanden, läuft der Server wahrscheinlich nicht / nicht richtig. Daher die Frage bzgl. SSH-Zugang.Kannst du mit externen Programmen wie Workbench etc. auf deine Datenbank zugreifen von außen? Rede nicht von den, auf dem Server installierten, Programmen - sondern wirklich externe DB-Verwaltungstools benutzen (z. B. Workbench).
Leider hast du auch noch nicht die exakte Fehlermeldung hier gepostet, lautet die eventuell:
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
? Das tritt auf, wenn dein Script versucht sich auf dem lokalen Server zu verbinden. Die SQL-Datenbankserver von Strato werden andere sein, als die wo dein Webserver drauf läuft. Dies weist darauf hin, dass deine DB-Daten in der Konfigurationsdatei nicht stimmen oder an einer anderen Stelle in deinem Script noch die falschen Anmeldeinformationen stehen.Gruß
@d4shoerncheN
Morgen zusammen
Sorry dass gestern nichts mehr kam, hatte keine Zeit mehr.
Marave, ich meinte nicht das, was du gemacht hast, habe mich vielleicht auch ungünstig ausgedrückt. Ich spreche von den Zugriffsrechten auf die Datenbank an sich. Schau mal im phpmyadmin, wenn du dir dort die Liste der Datenbanken aufrufst siehst du irgendwo "Host". Dort steht bei der Datenbank, die du verwenden willst, sicher "localhost" drin. Das heisst nur der Datenbankserver direkt kann sich auf die DB verbinden. Bitte ändere dies auf "%", so dass sich jeder "Client" (darunter fällt auch dein PHP-Script) auf die DB verbinden kann.
Sollte das der Fall sein, kannst du, wie @d4shoerncheN geschrieben hat, versuchen über externe Tools drauf zu kommen. Ich habe früher gern HeidiSQL genommen.
Gruss
Sorry dass gestern nichts mehr kam, hatte keine Zeit mehr.
Marave, ich meinte nicht das, was du gemacht hast, habe mich vielleicht auch ungünstig ausgedrückt. Ich spreche von den Zugriffsrechten auf die Datenbank an sich. Schau mal im phpmyadmin, wenn du dir dort die Liste der Datenbanken aufrufst siehst du irgendwo "Host". Dort steht bei der Datenbank, die du verwenden willst, sicher "localhost" drin. Das heisst nur der Datenbankserver direkt kann sich auf die DB verbinden. Bitte ändere dies auf "%", so dass sich jeder "Client" (darunter fällt auch dein PHP-Script) auf die DB verbinden kann.
Sollte das der Fall sein, kannst du, wie @d4shoerncheN geschrieben hat, versuchen über externe Tools drauf zu kommen. Ich habe früher gern HeidiSQL genommen.
Gruss
Hallo,
Die URL http://www.hertelfiellascript.de/teacher/login/ weist auf den Ordner "teacher" hin und dort den Ordner "login", diese sind bei deiner Auflistung nicht dabei. Bist du auch der Hoster für die von mir eben genannte Seite?
Gruß
@d4shoerncheN
vorab jedoch den Link: www.it-modul.de
scheint mir so, als wenn es ein externes Login ist und nichts mit deiner Webseite zu tun hat?Die URL http://www.hertelfiellascript.de/teacher/login/ weist auf den Ordner "teacher" hin und dort den Ordner "login", diese sind bei deiner Auflistung nicht dabei. Bist du auch der Hoster für die von mir eben genannte Seite?
Leider habe ich keine Ahnung was ein vServer ist
Ein vServer ist ein virtueller Server. Solche Server stellen Hoster zur Verfügung und der Benutzer hat vollen Zugriff auf diesen. Dort ist ein Betriebssystem installiert und meist eine Oberfläche wie PLESK, CONFIXX etc.PowerWeb Plus
Scheint für mich kein vServer zu sein.Gruß
@d4shoerncheN
Moin,
dann schreib mal bitte alles aus dem von mir genannten Ordner hier auf und vorallem poste mal das Loginscript.
Ich vermute das dort irgendwo sich noch deine alten Zugangsdaten verstecken. Das ist der Grund, wieso viele halt das Login in eine externe Datei auslagern und immer includen. Dann kann sowas nicht passieren, dass man an einer Stelle vergisst das Script zu ändern.
Gruß
@d4shoerncheN
dann schreib mal bitte alles aus dem von mir genannten Ordner hier auf und vorallem poste mal das Loginscript.
Ich vermute das dort irgendwo sich noch deine alten Zugangsdaten verstecken. Das ist der Grund, wieso viele halt das Login in eine externe Datei auslagern und immer includen. Dann kann sowas nicht passieren, dass man an einer Stelle vergisst das Script zu ändern.
Gruß
@d4shoerncheN
Hallo,
ich schreibe ihm gleich eine kleine Anleitung für's Workbench.
Nachtrag für TO
Einrichtung von Workbench zur Datenbankverwaltung.
Programm starten. Programm ist unterteilt in drei Bereiche, dort wählst du unten links unter "Open Connection to start Querying" den Punkt "New Connection". Dort in die Maske deine Daten eintragen, ähnlich:
Hast du das getan, einmal auf den Button "Store in Vault". Nun öffnet sich ein Dialog, indem du dein Passwort eintragen und speichern kannst. Nun einfach mal auf "Test connection" klicken. Hier sollte dir das Programm dann sagen, dass deine Zugangsdaten stimmen. Bitte einmal testen und berichten.
Gruß
@d4shoerncheN
ich schreibe ihm gleich eine kleine Anleitung für's Workbench.
Nachtrag für TO
Einrichtung von Workbench zur Datenbankverwaltung.
Programm starten. Programm ist unterteilt in drei Bereiche, dort wählst du unten links unter "Open Connection to start Querying" den Punkt "New Connection". Dort in die Maske deine Daten eintragen, ähnlich:
Hast du das getan, einmal auf den Button "Store in Vault". Nun öffnet sich ein Dialog, indem du dein Passwort eintragen und speichern kannst. Nun einfach mal auf "Test connection" klicken. Hier sollte dir das Programm dann sagen, dass deine Zugangsdaten stimmen. Bitte einmal testen und berichten.
Gruß
@d4shoerncheN
Hallo,
bei Hostname kommt der Name des SQL-Servers (rdbms.strato.de) rein.
Den Datenbanknamen selber lässt du erst einmal außen vor.
Gruß
@d4shoerncheN
bei Hostname kommt der Name des SQL-Servers (rdbms.strato.de) rein.
Den Datenbanknamen selber lässt du erst einmal außen vor.
Gruß
@d4shoerncheN
Moin,
komisch.
Erstell mit dem Editor mal eine test.php und lad die in dein Root-Verzeichnis. Als Inhalt nutzt du folgendes:
und trägst oben noch deine Daten ein. Danach rufst du die Datei über www.deine-url.de/test.php auf und überprüfst die Ausgabe.
Gruß
@d4shoerncheN
komisch.
Erstell mit dem Editor mal eine test.php und lad die in dein Root-Verzeichnis. Als Inhalt nutzt du folgendes:
# Zugangsdaten
$db_server = 'rdbms.strato.de';
$db_benutzer = '';
$db_passwort = '';
$db_name = '';
# Verbindungsaufbau
if(mysql_connect($db_server, $db_benutzer, $db_passwort)) {
echo 'Server-Verbindung erfolgreich, wähle Datenbank aus...
';
if(mysql_select_db($db_name)) {
echo 'Datenbank erfolgreich ausgewält, alle Tests abgeschlossen.';
}
else {
echo 'Die angegebene Datenbank konnte nicht ausgewählt werden, bitte die Eingabe prüfen!';
}
}
else {
echo 'Verbindung nicht möglich, bitte Daten prüfen!
';
echo 'MYSQL-Fehler: '.mysql_error();
}
?>
Gruß
@d4shoerncheN
Zitat von @marave:
Hallo,
dann kommt eine Fehlermeldung: Can't connect to MySQL server on 'rdbms.strato.de' (0)
Was soll mir das sagen? Ich komme nicht an die Datenbank heran und das Problem liegt vielleicht gar nicht an den Dateien, die ich
hochgeschoben habe, sondern am Zugriff zur Datenbank?
Danke für eine Antwort
marave
mit Zugriff meine ich mögliche Einstellungen an der Datenbank oder einer der Tabellen
Hallo,
dann kommt eine Fehlermeldung: Can't connect to MySQL server on 'rdbms.strato.de' (0)
Was soll mir das sagen? Ich komme nicht an die Datenbank heran und das Problem liegt vielleicht gar nicht an den Dateien, die ich
hochgeschoben habe, sondern am Zugriff zur Datenbank?
Danke für eine Antwort
marave
mit Zugriff meine ich mögliche Einstellungen an der Datenbank oder einer der Tabellen
Sag ich doch die ganze Zeit... ;)
Zitat von @marave:
Hallo,
hier die Ausgabe:
$db_server = 'rdbms.strato.de'; $db_benutzer = 'Uxxxxxx'; $db_passwort = 'xxxxxx'; $db_name =
'DBxxxxxx'; # Verbindungsaufbau if(mysql_connect($db_server, $db_benutzer, $db_passwort)) { echo 'Server-Verbindung
erfolgreich, wähle Datenbank aus... '; if(mysql_select_db($db_name)) { echo 'Datenbank erfolgreich ausgewält,
alle Tests abgeschlossen.'; } else { echo 'Die angegebene Datenbank konnte nicht ausgewählt werden, bitte die
Eingabe prüfen!'; } } else { echo 'Verbindung nicht möglich, bitte Daten prüfen! '; echo
'MYSQL-Fehler: '.mysql_error(); } ?>
Nun steht hier, dass eine Verbindung war und dass die Datenbank nicht erreichbar war. Kann ich noch lesen?
marave
Hallo,
hier die Ausgabe:
$db_server = 'rdbms.strato.de'; $db_benutzer = 'Uxxxxxx'; $db_passwort = 'xxxxxx'; $db_name =
'DBxxxxxx'; # Verbindungsaufbau if(mysql_connect($db_server, $db_benutzer, $db_passwort)) { echo 'Server-Verbindung
erfolgreich, wähle Datenbank aus... '; if(mysql_select_db($db_name)) { echo 'Datenbank erfolgreich ausgewält,
alle Tests abgeschlossen.'; } else { echo 'Die angegebene Datenbank konnte nicht ausgewählt werden, bitte die
Eingabe prüfen!'; } } else { echo 'Verbindung nicht möglich, bitte Daten prüfen! '; echo
'MYSQL-Fehler: '.mysql_error(); } ?>
Nun steht hier, dass eine Verbindung war und dass die Datenbank nicht erreichbar war. Kann ich noch lesen?
marave
setze in die erste Zeile bitte ein "<?php"
Zitat von @marave:
Hallo,
hier die Ausgabe:
$db_server = 'rdbms.strato.de'; $db_benutzer = 'Uxxxxxx'; $db_passwort = 'xxxxxx'; $db_name =
'DBxxxxxx'; # Verbindungsaufbau if(mysql_connect($db_server, $db_benutzer, $db_passwort)) { echo 'Server-Verbindung
erfolgreich, wähle Datenbank aus... '; if(mysql_select_db($db_name)) { echo 'Datenbank erfolgreich ausgewält,
alle Tests abgeschlossen.'; } else { echo 'Die angegebene Datenbank konnte nicht ausgewählt werden, bitte die
Eingabe prüfen!'; } } else { echo 'Verbindung nicht möglich, bitte Daten prüfen! '; echo
'MYSQL-Fehler: '.mysql_error(); } ?>
Nun steht hier, dass eine Verbindung war und dass die Datenbank nicht erreichbar war. Kann ich noch lesen?
marave
Hallo,
hier die Ausgabe:
$db_server = 'rdbms.strato.de'; $db_benutzer = 'Uxxxxxx'; $db_passwort = 'xxxxxx'; $db_name =
'DBxxxxxx'; # Verbindungsaufbau if(mysql_connect($db_server, $db_benutzer, $db_passwort)) { echo 'Server-Verbindung
erfolgreich, wähle Datenbank aus... '; if(mysql_select_db($db_name)) { echo 'Datenbank erfolgreich ausgewält,
alle Tests abgeschlossen.'; } else { echo 'Die angegebene Datenbank konnte nicht ausgewählt werden, bitte die
Eingabe prüfen!'; } } else { echo 'Verbindung nicht möglich, bitte Daten prüfen! '; echo
'MYSQL-Fehler: '.mysql_error(); } ?>
Nun steht hier, dass eine Verbindung war und dass die Datenbank nicht erreichbar war. Kann ich noch lesen?
marave
Ups, mein Fehler.
@uebeltat hat den Fehler behoben. Hab das
<?php
Hallo,
änder deine db.login mal wie folgt ab:
und deine db_login.php
funktioniert das auch nicht, änder mal in Zeile 10 das
in
Vorher von den alten Dateien eine Sicherung machen.
Gruß
@d4shoerncheN
änder deine db.login mal wie folgt ab:
<?php
//login
$db_server = 'rdbms.strato.de';
$db_benutzer = 'xxx';
$db_passwort = 'xxx';
$db_name = 'xxx';
@ $conn = mysql_pconnect($db_server,$db_benutzer,$db_passwort);
if($conn == 0) {
echo "&actionOK=false";
exit;
}
mysql_select_db($db_name);
mysql_query("SET CHARACTER SET utf8");
?>
und deine db_login.php
<?php
//login
$db_server = 'rdbms.strato.de';
$db_benutzer = 'xxx';
$db_passwort = 'xxx';
$db_name = 'xxx';
@ $conn = mysql_pconnect($db_server,$db_benutzer,$db_passwort);
if($conn == 0) {
echo "fehlgeschlagen";
exit;
}
mysql_select_db($db_name);
mysql_query("SET CHARACTER SET utf8");
?>
funktioniert das auch nicht, änder mal in Zeile 10 das
@ $conn = mysql_pconnect($db_server,$db_benutzer,$db_passwort);
@ $conn = mysql_connect($db_server,$db_benutzer,$db_passwort);
Vorher von den alten Dateien eine Sicherung machen.
Gruß
@d4shoerncheN