Typo3 arbeitet standardmäßig mit dem frei verfügbaren DBMS MySQL zusammen und somit ist es sehr einfach, eine Typo3-Installation zu sichern und zu kopieren. Neben dem Kopieren des Typo3-Verzeichnisses arbeitet man mit den MySQL-Tools mysqldump und mysql, um die Datenbank zu exportieren und später wieder zu importieren. Das ist im Prinzip alles!
Bei der letzten Kopieraktion kam es zu Komplikationen, denn der MySQL-Dump auf System A ließ sich nicht auf System B importieren, obwohl es sich um nahezu identische Linux-Systeme handelte. Auch die Typo3-Datenbank war standard. Beim Importieren weigerte sich MySQL mit folgender Fehlermeldu
# mysql -u root -p db1 < db1.sql
ERROR 1005 (HY000) at line 201 Can't create table inndb
Ein Blick in das SQL-Dump db1.sql zeigt, dass es sich hier nicht um eine MyIsam-, sondern tatsächlich um eine InnoDB-Tabelle handelt:
CREATE TABLE `cache_hash` (
`hash` varchar(32) NOT NULL DEFAULT '',
`content` mediumblob NOT NULL,
`tstamp` int(11) unsigned NOT NULL DEFAULT '0',
`ident` varchar(20) NOT NULL DEFAULT '',
PRIMARY KEY (`hash`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
MySQL hat an dieser Stelle tatsächlich Probleme, eine InnoDB-Tabelle anzulegen, denn erstellt man diese Tabelle manuell mit ENGINE=MyISAM anstatt ENGINE=InnoDB gibt es keine Probleme. MySQL legt die Tabelle problemlos an.
Ein Blick in das Error-Log beschreibt das Problem etwas genauer:
# tail -n200 /var/log/mysql/mysqld.err
101010 13:15:18 InnoDB: Warning: cannot create table `db1/cache_hash` because tablespace full
Laut dieser Meldung ist die Tablespace voll.
Öffnen der MySQL-Konfigurationsdatei und den Wert innodb_data_file_path erhöhen (Standard 128 MB):
# vi /etc/mysql/my.cnf
innodb_data_file_path = ibdata1:10M:autoextend:max:256M
Anschließend MySQL neustarten. Danach funktioniert auch der Import der Typo3-Datenbank.