MysqlDump Long Load Times

2

Estou usando mysqldump database > output.sql para despejar todos os dados em um banco de dados. O tamanho do arquivo de saída é de cerca de 3,3 GB. Estou importando-o usando mysql < output.sql , mas ele está em execução há mais de 24 horas e ainda não foi concluído.

Isso é normal? Existe alguma maneira de acelerar a importação?

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)
    
por Gordon 02.08.2010 / 17:33

4 respostas

0

Isso acabou sendo um problema de espaço em disco do meu lado. Nada para ver aqui.

    
por 10.08.2010 / 09:03
1

Não consigo imaginar muitos dados levando mais de uma ou duas horas em uma máquina razoavelmente moderna. Eu usaria o MySQL Administrator (encontrado em MySQL GUI Tools ) ou mtop para se certificar de que não está apenas pendurado.

    
por 02.08.2010 / 17:57
1

Provavelmente suas configurações do mysqld foram ajustadas para conter configurações muito baixas para uso de memória.

Para tabelas MyISAM, certifique-se de ter key_buffer_size e table_cache devidamente ajustado.

Para tabelas InnoDB, certifique-se de ter o innodb_buffer_pool_size devidamente ajustado. Com o InnoDB, também pode ser útil incluir as instruções insert em torno de uma transação.

Por favor, poste aqui a saída dos seguintes comandos:

SHOW VARIABLES LIKE '%innodb%';
SHOW VARIABLES LIKE '%key_buffer%';
SHOW VARIABLES LIKE '%table%';
    
por 02.08.2010 / 18:02
0

Com o
mostre a lista de processos completa;
você pode ver todo o processo em execução, por isso, se ainda estiver inserindo dados, você deverá vê-lo.

SHOW ABRIR TABELAS
SHOW TABLE STATUS

Também deve dar algumas informações. Experimente e mostre os resultados.

Não deve demorar mais de 2 horas. Eu concordo.

    
por 03.08.2010 / 22:37