Sie sollten diese Zahlen vor dem mysqldump berechnen können .
Bezüglich der Einstellungen, die Sie in der Frage angegeben haben,
innodb_log_file_size=1G
Diese Einstellung ist zu groß !!!
Der innodb_log_file_size
soll 25% von seininnodb_buffer_pool_size
innodb_log_file_size = 128M
Wenn Sie dies festgelegt haben /etc/my.cnf
, müssen Sie folgende Schritte ausführen, um die InnoDB-Protokolldateien zu ändern:
service mysql stop
rm -f /var/lib/mysql/ib_logfile[01]
service mysql start
Wie für die andere Einstellung
innodb_log_buffer_size=1G
Sie möchten nie eine Tonne Daten hier zwischenspeichern, bevor Sie sie an die InnoDB-Protokolldateien senden, insbesondere bei mysqldump-reloads oder umfangreichen Transaktions-COMMITs. Die sollte eine Größenordnung kleiner sein.
innodb_log_buffer_size=32M
Übrigens Sie sollten die binäre Protokollierung vor dem erneuten Laden deaktivieren. Andernfalls landen alle Daten in Ihren Binärprotokollen. Bitte führen Sie einen der folgenden Schritte aus:
- Machen Sie dies ->
SET SQL_LOG_BIN=0;
die erste Zeile der mysqldump-Datei. - Führen Sie in der MySQL-Befehlszeile den Befehl
SET SQL_LOG_BIN=0;
Ausführen aussource < mysqldumpfile >
- Kommentieren Sie log-bin aus
/etc/my.cnf
und starten Sie MySQL 5.1 neu, laden Sie die mysqldump-Datei, dekommentieren Sie log-bin und starten Sie MySQL neu.
UPDATE 24.07.2011 20:30 Uhr
Wenn Sie über eine mysqldump-Datei verfügen /root/MyData.sql
, können Sie die Befehle immer noch so ausführen
SET SQL_LOG_BIN=0; source /root/MyData.sql
Dies fällt unter Option 2.