Kleine MySQL-Datenbanken lassen sich mit mehr oder weniger Mühe (zB Fummeln mit “UTF-8″, “Latin1″ etc) transferieren. In phpMyAdmin exportieren und am neuen Ort in phpMyAdmin importieren. Das geht gut, solange das File kleiner ist als die Upload-Limite (die in php.ini als maximale Formpost-Grösse definiert ist, oft 8MB) und das Einlesen des Files kürzer geht als der eingestellte PHP-Script-Timeout (wo man das einstellt wüsste ich auch gerne).
Meine Bassic-Datenbank (140MB) gab mir da schon zu denken. In einem Rutsch geht das natürlich nicht. Hab versucht, einzelne Exportfiles für einzelne Tabellen zu machen, was aber bei grossen Tabellen auch nicht reichte (Scripttimeout-Problem). Das heisst, die grossen Files von Hand aufsplitten… keine schnelle Arbeit. Und das Ziel war, möglichst keinen merkbaren Unterbruch der Website. Beim letzten Umzug (die DB war noch einiges kleiner) habe ich das deshalb nachts gemacht und war so gegen 5:00 Uhr fertig.
Mein Ex-Hoster zeigte da einen Supereinsatz. Zweimal haben wir mitten in der Nacht die Datenbank-Files auf den neuen Server kopiert. Bandweb und Bassic. Er hat da erheblich mehr Bandreite zur Verfügung als ich zu Hause. Sehr cool: man muss nur die Files ins Data-Verzeichnis der vorher erstellten leeren MySQL-Datenbank kopieren und fertig ist die Sache. Die 140MB hatte er in wenigen Sekunden bis Minuten auf dem Server und ich konnte nur schnell den Connectionstring ändern und Bassic war umgezogen (DNS zeigte schon seit 2 Tagen auf den neuen Server).