Für Menschen · Seien Sie begeistert und Sie werden begeistern !
Es kommt leider vor, dass man umziehen muss oder möchte - aus welchen Gründen auch immer.
Um dies ohne großen Ärger zu bewerkstelligen wird im folgenden eine kleine Anleitung Schritt für Schritt hinterlegt. Außerdem gehe ich auf bekannte Probleme ein und stelle einige Lösungen bereit.
Achtung: Bitte erst lesen und dann loslegen, keine Garantie auf zerstörte Daten! Sicherung anlegen!
config.php von WP steht. Im Normalfall ist dies wp_ (Bsp.: wp_post2cat oder wordpress_post2cat). Solltet ihr diesen verändert haben bzw. sollte sich der Präfix eures alten Blogs vom neuen unterscheiden, so müssen in der SQL-Datei die Daten verändert ist. Dazu eignet sich jeder bessere Editor - zum Beispiel Notepad++, mit dem wir nun nach dem alten Präfix suchen und mit dem neuen ersetzen. Damit sollte selbst eine große SQL-Datei schnell verändert sein.`ALTER_PRÄFIX_Beispiel für Tabelle post2cat:
--
-- Tabellenstruktur für Tabelle `wp_post2cat`
--
DROP TABLE IF EXISTS `wp_post2cat`;
CREATE TABLE `wp_post2cat` (
`rel_id` bigint(20) NOT NULL auto_increment,
`post_id` bigint(20) NOT NULL default '0',
`category_id` bigint(20) NOT NULL default '0',
PRIMARY KEY (`rel_id`),
KEY `post_id` (`post_id`,`category_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=13 ;
--
-- Daten für Tabelle `wp_post2cat`
--
INSERT INTO `wp_post2cat` (`rel_id`, `post_id`, `category_id`) VALUES (1, 1, 1);
INSERT INTO `wp_post2cat` (`rel_id`, `post_id`, `category_id`) VALUES (5, 6, 1);
INSERT INTO `wp_post2cat` (`rel_id`, `post_id`, `category_id`) VALUES (3, 4, 1);
...
INSERT INTO `wp_post2cat` (`rel_id`, `post_id`, `category_id`) VALUES (11, 12, 1);
-- --------------------------------------------------------
Nun heißt es also die Tabellen in eigene Dateien zu legen, wie im obigen Beispiel zu sehen ist, endet jeder Datensatz immer mit
-- --------------------------------------------------------
Danach folgt die nächste Tabelle und die zugehörigen Daten.
Wichtig: legt vorher eine Sicherung der Originaldatei an!
Unter anderem kann es zu Problemen mit Sonderzeichen kommen, heist wir sehen in der Ausgabe kein Ü sondern kryptische Zeichen. Die können wir mit einem kleinen Script beheben. Sollen alle Tabellen in der Datenbank durchforstet werden und alle Sonderzeichen sollen UTF-8 codiert sein, so ist das Script content encoding zu empfehlen.
Die Mime-Deklarierung eures Blogs findet ihr bei WP unter Einstellungen --> Lesen - UTF-8 ist Standard und auch zu empfehlen.
Will man nur einzelne Tabellen durchforsten und gegebenfalls die Zeichen ändern, so kann der folgende Code genutzt werden - Kopieren, in einer php-Datei speichern und in den Ordner wp-content des Blogs kopieren, oder downloaden.
Die Datei dann über den Browser aufrufen. Die Datei für jede Tabelle anpassen.
<?php
/**************************************************
Convert WP Content encoding
BASISSCRIPT: Markus Tacker <m@tacker.org>
Modified: Frank Bueltge <bueltge.de>
***************************************************/
// New coding
$new_encoding = 'UTF-8';
// WordPress config
require_once '../wp-config.php';
// Connect DB
$DBC = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
mysql_select_db(DB_NAME, $DBC);
$table = $wpdb->prefix.'comments';
echo '<pre>';
$result_data = mysql_query('SELECT * FROM ' . $table);
echo $table . ' ';
while ($data = mysql_fetch_assoc($result_data)) {
$sql = 'UPDATE ' . $table;
// Build set
$set = array();
foreach ($data as $key => $val) {
$set[] = ek($key) . '=' . ev(mb_convert_encoding($data[$key], $new_encoding));
}
$sql .= ' SET ' . join(', ', $set);
// Build where
$where = array();
foreach ($data as $key => $val) {
if (!preg_match('/[0-9]+/', $val)) continue; // Use only numbers in where
$where[] = ek($key) . '=' . ev($data[$key]);
}
$sql .= ' WHERE ' . join(' AND ', $where);
$query_result = mysql_query($sql, $DBC);
if (!$query_result) {
die('Invalid query: ' . mysql_error());
}
echo '.';
flush();
}
echo "\n";
echo 'All done.>/pre>';
// Disconnect DB
mysql_close($DBC);
function ek($string)
{
global $DBC;
return "`" . mysql_real_escape_string($string, $DBC) . "`";
}
function ev($string)
{
global $DBC;
return "'" . mysql_real_escape_string($string, $DBC) . "'";
}
?>
händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.
Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.
xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>
Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als < und > als > einfügt.
E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.
Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.
Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.
Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 971 Beiträge, 19462 Kommentare in 14 Kategorien und 459 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
16. Dezember 2006 um 16:07
16. Dezember 2006 um 21:38
"[...] aber in der Regel kann man nie mehr als 1MByte an Daten importieren [...]"
Dazu ist anzumerken, dass die Daten erst hochgeladen werden müssen bevor sie von phpMyAdmin verarbeitet werden können. Somit stellt jeder Import für den Server erst einmal einen Upload dar.
Die Dateigröße für einen Upload wird i.d.R. in der php.ini geregelt. Es liegt also in der Hand des Server-Admins wie groß Dateien für den Upload sein dürfen. Bei sehr konservativ eingestellten Servern sind das auch schon mal weit weniger als 1MB. Bei anderen Servern auch schon mal mehr als 2MB.
Ich benutze aus verschiedenen Gründen einen Desktop-Client für MySQL-Operationen. Dazu verwende ich MySQL Control Center (gibt es z.B. hier:
http://www.soft-ware.net/office/daten/oberflaeche/p03277.asp).Zum einen habe ich beim Client nicht die Upload-Beschränkungen. Zum anderen lassen sich damit auch noch einige andere "Pflegearbeiten" an den DBS recht komfortabel vornehmen. Man kann SQL-Befehle in Textdateien abspeichern und sie im Client mit 2,3 Mausklicks ausführen.
Ein weiterer Vorteil eines Desktop-Clients liegt in der maximalen Ausführungszeit für PHP-Scripte. Ist diese auf dem Server zu kurz bemessen, kann phpMyAdmin Probleme bei recht umfangreichen (langwierigen) DB-Aktionen bekommen.
Jeder der sich etwas intensiver mit seinen MySQL-DBs beschäftigt, sollte auch mal eionen Blick auf einen Desktop-Client werfen. Neben MySQL Control Center gibt es davon noch ein paar andere.
17. Dezember 2006 um 12:42
Hi
danke für die Erklärung, die sehr einfache, ich nehm die in meine Liste zu den WP Tipps auf.
Für große Datenbanken nehm ich immer dieses Script:
http://www.ozerov.de/bigdump.phpdamit habe ich Foren mit >500 000 Einträgen und >5000User leichtest übersiedelt.
offtopic:
gemein, vergaß die Spamfrage, nutz den Return button der ganze Kommentar weg *snief* und
entweder hat mein Flock was, aber Deine Seiten *derladen* bei mir kaum
Dir einen schönen Sonntag
Monika, die jetzt die Spamschutzfrage vorher ausgefüllt hat
17. Dezember 2006 um 15:24
24. Dezember 2006 um 22:03
"Fatal error: Call to undefined function: mb_convert_encoding() in ...\wp-content\iconv.php on line 32"
Beim Aufruf des Konvertierungs-Scriptes
26. Dezember 2006 um 21:40
Hallo Ralf,
da das Script ein Schnellschuss ist, wird nicht abgefragt, wenn alles OK ist.
Die Funktion gibt es nicht, die war nur bei einem erweiterten Script da.
LG Frank
29. Januar 2007 um 18:39
12. Februar 2007 um 16:18
11. April 2007 um 16:28
Danke für die Hilfe. Nur habe ich das Problem, dass alle Bilder und Artikel noch auf den alten Server verlinken sind, woran kann das liegen?
11. April 2007 um 17:20
Dann wirst du nochmal mit Suchen/Ersetzen in der Datenbank die Links ändern müssen. Prüfe im Vorfeld doch mal einen Link im Editor und unbedingt eine Sicherung der DB aufsetzen.
4. Mai 2007 um 22:06
29. Mai 2007 um 16:54
18. August 2007 um 01:04
12. September 2007 um 01:43
5. Oktober 2007 um 00:13
Hallo Frank,
ich bin auch gerade am umziehen und habe eine Frage:
Früher gab es doch in den WordPress-Optionen mal die Möglichkeit, den "echten" Serverpfad zum Blog irgendwo in den Optionen einzustellen. Ich finde das mittlerweile in der neuen Version nirgendwo wieder - weder in den Optionen, noch in der config-Datei.
Nun suchen nur leider ein, zwei Plugins und die Upload-Optionen an der alten Stelle: /homepages/45/d1234583xx/htdocs/blog/wp-content/ .
Hast du eine Ahnung, wo - in welcher Datei - sich die Einstellung versteckt?
Das Problem mit den Umlauten hatte ich auch, habe es mit einem zweiten Import mittels WP-DBManager gelöst (
http://lesterchan.net/portfolio/programming.php).5. Oktober 2007 um 19:23
Wenn ich mich recht erinnere war das früher bei Verschiedenes. Ist aber nicht mehr drin.
5. Oktober 2007 um 21:08
Seltsam, oder? (wie einem die Optionen genommen werden)
10. Oktober 2007 um 07:18
13. Januar 2008 um 11:24
13. Januar 2008 um 17:56
Datenbank backups oder umzüge am einfachsten automatisieren
automatische-mysql-db-backups-mit-mysqldumper-und-cron
13. Januar 2008 um 22:32
7. Mai 2008 um 14:37
danke für die wertvolle tipps
12. August 2008 um 16:35
12. August 2008 um 20:24
~8 Monate früher mit diesem Eintrag und ich hätte mir einiges an Arbeit erspart
13. August 2008 um 14:44
14. August 2008 um 11:30
3. September 2008 um 00:22
Kann es sein, dass der CODE oben ein bisschen durcheinandergeraten ist?
8. Oktober 2008 um 16:10
6. November 2008 um 13:30
Tolle Zusammenfassung!
Inige Probleme hatte ich auch und konnte sie Lösen.
12. November 2008 um 10:32
Danke für die Tipps, war gestern am verzweifeln, da ich mit meinem Blog umziehen muss.
12. Januar 2009 um 16:17
Ich möchte von einem bestehenden 2.7 Blogdie Datenbank in ein neu installiertes 2.7 Blog transferieren. Mit der blogeigenen import/export Funktion geht das gut, aber erstens sind dann alle Überschriften von den Artikeln weg und alle Artikel waren durcheinander. Dies lies sich auch händisch über phpmyadmin nicht beheben.
Dann mit mysqlDumper versucht. Das ging garnicht. Ergebnis war eine weisse Seite.
Jetzt mit dem WordPress Database backup Plugin versucht. Tolle Sache, aber auch da war die weisse Seite dann da, die Tabellen allerdings waren in der Datenbank.
Auch nach hiesiger Anleitung bin ich schon vorgegangen. Ergebnis, die weisse Seite. Hab nun sogar händisch in der wp_options die Einträge _name siteurl und home angepasst, aber daran liegts auch nicht anscheinend. Datenbankpräfixe stimmen auch.
Ich weiss, das es geht, aber ich weiss nicht, was ich falsch mache.
Wäre überaus dankbar und erfreut, wenn mir jemand helfen könnte und würde.
Mit bestem Gruß,
der Rio
28. Januar 2009 um 15:46
Vielen Dank für die klare Beschreibung. Stehe mit meinem Blog nämlich auch grade vor einem Umzug - und das bereitet mir doch erhebliche Bauchschmerzen. Die sind jetzt zwar noch nicht ganz weg, aber ich werd wohl ruhiger schlafen können. Betsen Dank und mach weiter... wenn´s geht auch mit solchen Tipps.
4. September 2009 um 19:33
4. September 2009 um 19:50
2. Februar 2010 um 15:49
Cool erklärt habs direkt verstanden..
In den beiträgen wird ja hier ziehmlich disskutiert..^^
besten grüße Tobi
21. Mai 2010 um 22:39
Seit ich mit meinem WordPress-Blog umgezogen bin kann ich eigentlich alle Funktionen einwandfrei nutzen, jedoch kann ich einen einzigen Artikel nicht mehr bearbeiten... Es erscheint einfach nur eine leere, weiße Seite!
Kennt das jemand bereits?!
22. Juli 2010 um 13:56
Ich selbst habe das eide rimme rnoch nicht ganz verstanden - werde es mir nochmal durchlesen und hoffe, dass es dann klappt.
21. November 2010 um 21:12
Hi, über die Suche "Datenbank-Import in WordPress" bin ich auf diesen Artikel gestossen. Leider beantwortet auch der nicht meine Frage: Ich suche ein Tool, daß mir ein installierbares Backup von WordPress erstellt. Bei joomla gibts sowas mit dem Namen Joomlapack, leider habe ich nichts für WP finden können - hat da jemand evtl. einen Tipp für mich? Vielen Dank schon im Voraus
2. Januar 2011 um 21:40
An dieser Stelle würde ich gerne mal eine Lanze für Notepad++ brechen. Was mir das Tool im letzten Jahr an Arbeit abgenommen hat, ist wirklich unbeschreiblich. Da ich noch mit einer strikten Notepad only Codetechnik "aufgewachsen" bin, war der Umstieg natürlich ein Highlight...
Ansonsten vielen Dank für die tolle Zusammenfassung. Wird direkt mal gebookmarked
7. April 2011 um 17:34
Hi,
ich war froh, als ich die neue WordPress-Version installiert hatte - und alles reibungslos gelaufen ist. Das ist noch vergleichsweise einfach im Gegensatz zu einem Umzug. Ob ich den Umzug tatsächlich durchziehe, muss ich mir noch mal durch den Kopf gehen lassen. Die Seite wird jedenfalls gebookmarkt. Thx.
Grüße, Mel
9. April 2011 um 00:50
Yeah, die Funktion mb_convert_encoding() hat mir dann also doch nochmal das Wochenende gerettet! Ich hatte die ganze Zeit Probleme mit den Umlauten, die aus einem MySQL Import kamen, aber jetzt laufen sie, und sind keine komischen "ä" mehr! Danke, dass du es auch benutzt hast!
lg dani
13. April 2011 um 16:03
Optimal! Danke für das Beispiele der Tabelle post2cat das hat mir sehr weitergeholfen. Da ich auch kurz vor der Portierung eines Blogs stehe, und das vorher noch nicht gemacht habe, kam dein Artikel wie gerufen! Ich hoffe, das es auch alles so funktioniert wie ich mir das vorstelle...
Danke für deinen Artikel! Ich werde mal posten ob es geklappt hat oder nicht^^
14. April 2011 um 16:53
danke für den Tipp jetzt werde ich die Umlaute auch endlich los... ich habe bisher immer alles exportiert und dann auf dem neuen server WP neu aufgesetzt und die Einträge und co. wieder importiert und eben das Template mit den ganzen Einstellungen kopiert
19. April 2011 um 13:42
Das ist ein wirklich schöner Artikel.
Wer jedoch von wordpress.com auf ein Selfhosting-Blog umziehen möchte, kann das wie im folgenden Artikel beschrieben tun (im anhängenden Whitepaper gibt es zusätzlich noch eine ausführliche Umzugsanweisung):
http://www.socialmediaevolution.de/2011/04/18/blogumzug/viele Grüße
29. April 2011 um 16:16
Gute Anleitung. Man kann auch über die export Funktion von WP die Beiträge im- und exportieren. So dürfte man an der Stelle keine Probleme mit Umlauten haben
8. Juni 2011 um 09:39
Eine Desktop-Client finde ich als Alternative zu PHPmyAdmin auch besser. Ich selbst benutze für solche Zwecke "HeidiSQL" und muss sagen, dasi ich mit Desktorp Variante ziemlich zufrieden bin.
29. Juni 2011 um 16:28
Danke für die tolle Anleitung für den Umzug eines WordPress Blogs. Habe neulich den Hoster mit meinem Blog gewechselt und damit ging's ohne Probleme!
@Charso: Wieso immer gleich nen Desktop Client? Bin zwar nicht so computerversiert, aber die ganzen Programme machen doch immer nur den PC lahm. Ich komme zumindest mit PHPmyAdmin gut zurecht und es bietet alle benötigten Funktionen...
7. Juli 2011 um 00:24
danke dir MiRa der Link hat mir sehr geholfen. ich bin grad dabei ein paar meiner Blogs zu komprimieren und zusammen in einem Größeren Projetk unterzubringen. Da kommt das alles grad passend für mich
6. September 2011 um 03:33
"Man kann auch über die export Funktion von WP die Beiträge im- und exportieren. So dürfte man an der Stelle keine Probleme mit Umlauten haben"
Danke für den Tipp aus den Kommentaren. Hat mein Problem mit den Umlauten gelöst.
10. September 2011 um 19:21
Hey Super, genau wie beim Peter hat mir der Tip mit der Export Funktion auch weitergeholfen! Besten Dank!