Wordpress Datenbank optimieren und umziehen auf anderen Server
Leider lief mein Wordpress noch auf einer 4er MySQL Datenbank. Ein Update auf Mysql 5 ist bei diesem Provider nicht möglich ohne weitere monatlichen Kosten :-(
Also war guter Rat teuer, da ich zum Glück noch andere Provider nutze und dort auch Mysql 5 Datenbanken umsonst habe, war also die Idee nur die Wordpress Datenbank umzuziehen, der Rest der Files sollte allerdings beim alten Provider bleiben da ich keine Lust habe auch noch die Domain umzuziehen.
Also erstmal eine neue Datenbank beim anderen Provider eingerichtet, die vorhandene Datenbankstruktur von Wordpress downgeloadet und auf die neue Datenbank hoch geschoben.
Wichtig ist dann die wp-config.php mit den neuen Datenbank Werten zu ändern:
// ** MySQL settings ** //
define(‘DB_NAME’, ‘datenbankname‘); // Der Name der Datenbank, die du benutzt.
define(‘DB_USER’, ‘datenbankuser‘); // Dein MySQL-Datenbank-Benutzername.
define(‘DB_PASSWORD’, ‘datenbankpasswort‘); // Dein MySQL-Passwort
define(‘DB_HOST’, ‘domain.de‘); // 99% Chance, dass du hier nichts ändern musst.
define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);
Unsicher war ich mir beim Eintrag DB_HOST denn dort stand localhost drinnen und das stimmt ja logischerweise nicht mehr wenn die Datenbank wo anders im Netz liegt. Es kam auch sofort zu einer Fehlermeldung und Wordpress fand die Datenbank nicht mehr. Nach ein wenig Sucherei im Netz fand ich dann die entsprechende Hilfe, anstatt localhost trägt man dort die Domain ein auf der die neue Datenbank liegt, also weder localhost noch datenkueche.de sondern die Domain des anderen Servers und das ganze ohne WWW. Und siehe da es funktionierte. Wordpress ist jetzt um einiges schneller weil es eine Datenbank für sich alleine hat und ich hab endlich einer 5er Mysql Datenbank. Bisher läuft alles bestens und wenn auch dieses Post sich in die neue Datenbank schreibt dann bin ich zufrieden :-)
Wer selbst solch einen Umzug vor hat sollte zu Beginn die wp-config.php sichern, denn wenn es schief geht kann man diese sofort wieder per FTP übertragen und alles ist wieder beim alten (Provider) :-)
Beim Suchen bin ich dann noch auf einen weiteren sehr hilfreichen Tipp gestoßen. Wordpress sichert geschriebene Beiträge in mehrfachen Versionen auch wenn letztendlich nur der zuletzt bearbeitete angezeigt wird. Ich hatte teilweise bei einigen Beiträgen bis zu 15 verschiedene Versionen in der Datenbank. Die brauch ich ja nun wirklich nicht und die Datenbank wird dadurch auch nicht schneller. Bei x2on.de bin ich auf einen super Tipp gestoßen. Per SQL-Befehl mit PhpMyAdmin gebe man folgenden Befehl ein:
SELECT * FROM `wp_posts` WHERE `post_type` = 'revision';
und dann einfach ALLE Einträge löschen die da gefunden werden, meine Datenbank hat es um einige MegaByte Balast verkleinert :-) Wichtig ist jedoch das man nach FROM das richtige Prefix (wp_posts) seiner Wordpress Tabelle einträgt, muss also evtl. angepasst werden, sonst wird natürlich nichts gefunden.
Ein vorheriges Backup der Datenbank ist allerdings auch hier zu empfehlen man weiß ja nie.
Das ganze hat funktioniert mit Wordpress 2.7.1 sollte aber auch in allen früheren Versionen von Wordpress kein Problem sein.
Popularity: 44% [?]







Hallo Silvi, schöne Beschreibung,
kleiner Tipp wenn Du von einem anderen Server (bzw. einer anderen IP-Adresse) auf Deine Datenbank zugreifst solltest Du auch nur diesen Host (Ip Adresse) erlauben sich an der Datenbank anzumelden.
LG
David
Scheinbar gehöre ich zu den 1% derer, bei denen der Umzug nicht klappt. Unter host der Eintrag der Domain, auf der nun die Datenbank sitzt, allerdings nach wie vor die Meldung: Fehler beim Aufbau einer Datenbank-Verbindung
Ich habe den sogenannten absolute Pfad eingegeben, der /www/htdocs/blablabl heisst. Läuft ebenfalls nicht. Passwörter, Benutzername und Datenbankname habe ich ebenfalls mehrfach überprüft. Keine Ahnung was da los ist. I need help. Danke.
Marcus ich hatte dieses Problem auch, wie oben ja schon geschrieben. Wichtig ist das Du in der wp_config die Domain einträgst anstatt localhost und das ganze OHNE WWW also einfach so:
define(’DB_HOST’, ‘domain.de‘);
Oder evtl auch die IP Adresse des besagten Servers
Stimmt.
So eine Zusammenfassung kommt genau richtig