Câu hỏi MysqlDump Thời gian tải lâu


tôi đang dùng mysqldump database > output.sql để đổ tất cả dữ liệu trong cơ sở dữ liệu. Kích thước của tập tin đầu ra là khoảng 3,3 GB. Tôi đang nhập nó bằng cách sử dụng mysql < output.sql tuy nhiên nó đã hoạt động được hơn 24 giờ và vẫn chưa kết thúc.

Điều này có bình thường không? Có cách nào để đẩy nhanh quá trình nhập không?

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
2017-08-02 15:33


gốc


Ngoài ra, các bảng là InnoDB - Gordon


Các câu trả lời:


Tôi không thể tưởng tượng rằng nhiều dữ liệu mất hơn một hoặc hai giờ trên một máy tính hợp lý hiện đại. Tôi muốn sử dụng MySQL Administrator (được tìm thấy trong Công cụ MySQL GUI) hoặc là mtop để đảm bảo nó không chỉ treo.


1
2017-08-02 15:57





Có lẽ cài đặt mysqld của bạn đã được điều chỉnh để chứa các cài đặt quá thấp để sử dụng bộ nhớ.

Đối với các bảng MyISAM, hãy đảm bảo bạn đã điều chỉnh key_buffer_size và table_cache.

Đối với các bảng InnoDB, hãy đảm bảo bạn đã điều chỉnh đúng innodb_buffer_pool_size. Với InnoDB nó cũng có thể hữu ích để bọc các câu lệnh chèn xung quanh một giao dịch.

Vui lòng đăng ở đây đầu ra từ các lệnh sau:

SHOW VARIABLES LIKE '%innodb%';
SHOW VARIABLES LIKE '%key_buffer%';
SHOW VARIABLES LIKE '%table%';

1
2017-08-02 16:02



đầu ra được thêm vào bài đăng - Gordon


Với
hiển thị danh sách xử lý đầy đủ;
bạn có thể thấy tất cả tiến trình đang chạy, vì vậy nếu nó vẫn chèn dữ liệu, bạn sẽ thấy nó.

HIỂN THỊ MẢNG MỞ
HIỂN THỊ TABLE STATUS

Cũng nên cung cấp cho bạn một số thông tin. Hãy thử và cho chúng tôi thấy kết quả.

Không nên dùng quá 2h. Tôi đồng ý.


0
2017-08-03 20:37





Điều này thực sự hóa ra là một vấn đề không gian đĩa trên đầu của tôi. Không có gì để thấy ở đây.


0
2017-08-10 07:03