MySQL로 가져와야하는이 거대한 32GB SQL 덤프가 있습니다. 이전에 그런 거대한 SQL 덤프를 가져올 필요가 없었습니다. 나는 평소에했다 :
mysql -uroot dbname < dbname.sql
시간이 너무 오래 걸립니다. 약 3 억 개의 행이있는 테이블이 있으며 약 3 시간 만에 150 만 개에 이릅니다. 따라서 모든 것이 600 시간 (24 일)이 걸리고 비현실적인 것 같습니다. 그래서 내 질문은, 더 빠른 방법이 있습니까?
추가 정보 / 발견
- 테이블은 모두 InnoDB이며 외부 키가 정의되어 있지 않습니다. 그러나 많은 인덱스가 있습니다.
- 원래 서버와 DB에 액세스 할 수 없으므로 새로 백업하거나 "핫"복사 등을 수행 할 수 없습니다.
- 여기에
innodb_flush_log_at_trx_commit = 2
제안 된 설정 은 (명확하게 눈에 띄거나 지수 적으로) 개선되지 않는 것 같습니다. - (MySQL의 워크 벤치에서) 가져 오는 동안 서버 통계 : https://imgflip.com/gif/ed0c8 .
- MySQL 버전은 5.6.20 커뮤니티입니다.
- innodb_buffer_pool_size = 16M 및 innodb_log_buffer_size = 8M입니다. 이것들을 늘려야합니까?