SQL-Dump-Einspielung extrem langsam

s24!

Registered User
Guten Abend,

ich bin gerade im Begriff, eine rund 11 GB große MySQL-Datenbank auf einen anderen Server umzuziehen. Das Ganze geschieht prinzipiell so:

Code:
mysqldump -u root -p<Passwort> <Datenbank> --skip-opt --add-locks --create-options --disable-keys --extended-insert --lock-all-tables | ssh root@neuer-server 'mysql -u root -p<Passwort> <Datenbank>'

Irgendwie schlich das Ganze so vor sich hin, sodass ich dann mal die Ausgabe in eine Datei umgeleitet und diese manuell auf den neuen Server gezogen hab.
Das geht gewohnt schnell (Gigabit halt), aber am Einspielen scheitert es dann, rein zeitlich gesehen:

Während der Dump nach sieben Minuten durch war, dauert das Einspielen jetzt schon fast eine Stunde, und /var/lib/mysql ist knappe 800 MB groß.
So kann ich den eigentlichen Umzug mit Abschaltung der alten Datenbank natürlich machen, und Binärdaten kopieren will ich auch vermeiden - schon alleine deshalb, weil jetzt innodb_file_per_table erstmalig gesetzt wurde und ich, damit das auch "zutrifft", natürlich jetzt einen Dump einspielen müsste...

Hat jemand eine zündene Idee? Die (um Kommentare gekürzte) my.cnf sieht so aus:

Code:
[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]
character_set_server = utf8
collation_server = utf8_general_ci
innodb_file_per_table

user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

key_buffer              = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
myisam-recover         = BACKUP
max_connections        = 800
query_cache_limit       = 1M
query_cache_size        = 16M

log_slow_queries        = /var/log/mysql/mysql-slow.log
long_query_time = 1

[mysqldump]
quick
quote-names
max_allowed_packet      = 16M

[mysql]

[isamchk]
key_buffer              = 16M

!includedir /etc/mysql/conf.d/


Grüße & vielen, vielen Dank

Tim


Edit
Ganz vergessen zu erwähnen, dass das System nicht im Geringsten ausgelastet ist, während der Dump eingespielt wird. Load ist bei 1.5 und es läuft sonst nichts anderes. Der Server ist ein Hetzner EX 4.
 
Last edited by a moderator:
Back
Top