MySQL'e aktarmam gereken bu büyük 32 GB'lik SQL dökümü var. Daha önce böyle büyük bir SQL dökümü almak zorunda kalmamıştım. Her zamanki gibi yaptım:
mysql -uroot dbname < dbname.sql
Çok uzun sürüyor. Yaklaşık 300 milyon satırlık bir masa var, yaklaşık 3 saat içinde 1,5 milyona ulaştı. Bu yüzden, her şeyin 600 saat süreceği (24 gün) ve pratik olmadığı anlaşılıyor. Yani benim sorum şu, bunu yapmanın daha hızlı bir yolu var mı?
Ek Bilgi / Bulgular
- Tabloların tümü InnoDB'dir ve tanımlanmış yabancı anahtar yoktur. Ancak birçok endeks var.
- Orijinal sunucuya ve DB'ye erişemem bu yüzden yeni bir yedekleme yapamıyorum veya "sıcak" bir kopya vb. Yapamıyorum.
- Burada
innodb_flush_log_at_trx_commit = 2
önerildiği gibi ayar yapmak, (açıkça görülebilen / katlanarak) iyileşme sağlamıyor gibi görünüyor. - İçe aktarma sırasında sunucu istatistikleri (MySQL Workbench'ten): https://imgflip.com/gif/ed0c8 .
- MySQL versiyonu 5.6.20 topluluktur.
- innodb_buffer_pool_size = 16M ve innodb_log_buffer_size = 8M. Bunları arttırmam gerekir mi?