MysqlDump Lange Ladezeiten

625
Gordon

Ich verwende mysqldump database > output.sqlalle Daten in einer Datenbank. Die Größe der Ausgabedatei beträgt etwa 3,3 GB. Ich importiere es mit, mysql < output.sqlaber es läuft seit mehr als 24 Stunden und ist immer noch nicht fertig.

Ist das normal? Gibt es eine Möglichkeit, den Import zu beschleunigen?

mysql> SHOW VARIABLES LIKE '%innodb%'; +-----------------------------------------+------------------------+ | Variable_name | Value | +-----------------------------------------+------------------------+ | have_innodb | YES | | ignore_builtin_innodb | OFF | | innodb_adaptive_hash_index | ON | | innodb_additional_mem_pool_size | 1048576 | | innodb_autoextend_increment | 8 | | innodb_autoinc_lock_mode | 1 | | innodb_buffer_pool_size | 8388608 | | innodb_checksums | ON | | innodb_commit_concurrency | 0 | | innodb_concurrency_tickets | 500 | | innodb_data_file_path | ibdata1:10M:autoextend | | innodb_data_home_dir | | | innodb_doublewrite | ON | | innodb_fast_shutdown | 1 | | innodb_file_io_threads | 4 | | innodb_file_per_table | OFF | | innodb_flush_log_at_trx_commit | 1 | | innodb_flush_method | | | innodb_force_recovery | 0 | | innodb_lock_wait_timeout | 50 | | innodb_locks_unsafe_for_binlog | OFF | | innodb_log_buffer_size | 1048576 | | innodb_log_file_size | 5242880 | | innodb_log_files_in_group | 2 | | innodb_log_group_home_dir | ./ | | innodb_max_dirty_pages_pct | 90 | | innodb_max_purge_lag | 0 | | innodb_mirrored_log_groups | 1 | | innodb_open_files | 300 | | innodb_rollback_on_timeout | OFF | | innodb_stats_on_metadata | ON | | innodb_support_xa | ON | | innodb_sync_spin_loops | 20 | | innodb_table_locks | ON | | innodb_thread_concurrency | 8 | | innodb_thread_sleep_delay | 10000 | | innodb_use_legacy_cardinality_algorithm | ON | +-----------------------------------------+------------------------+ 37 rows in set (0.12 sec)  mysql> SHOW VARIABLES LIKE '%key_buffer%'; +-----------------+----------+ | Variable_name | Value | +-----------------+----------+ | key_buffer_size | 16777216 | +-----------------+----------+ 1 row in set (0.03 sec)  mysql> SHOW VARIABLES LIKE '%table%'; +----------------------------+----------+ | Variable_name | Value | +----------------------------+----------+ | big_tables | OFF | | innodb_file_per_table | OFF | | innodb_table_locks | ON | | lower_case_table_names | 0 | | max_heap_table_size | 16777216 | | max_tmp_tables | 32 | | old_alter_table | OFF | | sql_big_tables | OFF | | table_definition_cache | 256 | | table_lock_wait_timeout | 50 | | table_open_cache | 64 | | table_type | MyISAM | | tmp_table_size | 16777216 | | updatable_views_with_limit | YES | +----------------------------+----------+ 14 rows in set (0.00 sec) 
2
Die Tabellen sind auch InnoDB Gordon vor 13 Jahren 0

4 Antworten auf die Frage

1
yalestar

Ich kann mir nicht vorstellen, dass so viele Daten auf einer relativ modernen Maschine mehr als eine oder zwei Stunden benötigen. Ich würde MySQL Administrator (zu finden in MySQL GUI Tools ) oder mtop verwenden, um sicherzustellen, dass es nicht nur hängt.

1
Janne Pikkarainen

Möglicherweise wurden Ihre mysqld-Einstellungen so eingestellt, dass sie zu geringe Einstellungen für die Speichernutzung enthalten.

Stellen Sie für MyISAM-Tabellen sicher, dass Sie key_buffer_size und table_cache richtig eingestellt haben.

Stellen Sie für InnoDB-Tabellen sicher, dass innodb_buffer_pool_size richtig eingestellt ist. Bei InnoDB kann es auch hilfreich sein, die Einfügeanweisungen um eine Transaktion zu wickeln.

Bitte posten Sie hier die Ausgabe der folgenden Befehle:

SHOW VARIABLES LIKE '%innodb%'; SHOW VARIABLES LIKE '%key_buffer%'; SHOW VARIABLES LIKE '%table%'; 
Ausgabe zum Beitrag hinzugefügt Gordon vor 13 Jahren 0
0
Remy

Mit
vollständige Prozessliste anzeigen;
Sie können alle Prozesse sehen, die laufen. Wenn Sie also noch Daten einfügen, sollten Sie es sehen.

SHOW OPEN TABLES
SHOW TABLE STATUS

Sollte Ihnen auch einige Informationen geben. Probieren Sie es aus und zeigen Sie uns die Ergebnisse.

Dürfte nicht länger als 2 Stunden dauern. Genau.

0
Gordon

Dies stellte sich tatsächlich als ein Problem mit dem Festplattenspeicher heraus. Es gibt hier nichts zu sehen.