Какой самый быстрый способ импортировать файл размером 1 ТБ .sql? Слишком медленно в настоящее время - PullRequest
2 голосов
/ 17 июня 2019

Моя БД была повреждена из-за таких ошибок, как

Порядковый номер журнала InnoDB в будущем

, и поэтому я отправил мне резервную копию и экспортировалФайл SQL, который необходимо повторно импортировать.

Размер файла .sql близок к 800 ГБ, а фактический объем БД составлял около 1,3 ТБ.

Теперь я начал импорт, но он движется со смехотворно медленной скоростью, всего 10-12 ГБ / час.Мой сайт будет недоступен в течение 6 дней, прежде чем я смогу полностью импортировать данные и надеяться на более быстрый путь.Любые другие предложения о том, что я мог бы сделать, чтобы ускорить процесс?

У меня есть машина Centos с 64 ГБ ОЗУ и для innodb_buffer_pool_size установлено значение 45 ГБ, так что об этом позаботились.Отметим, что исходный файл .sql находится на диске SATA, а MySQL - на SSD.У меня недостаточно места на SSD, чтобы .sql также находился на том же диске.

Возможные решения, которые я не пробовал, потому что задавался вопросом, стоит ли прекратить импорт и попробовать его снова:

  1. Я еще не пробовал добавить SET FOREIGN_KEY_CHECKS=0, SET autocommit=0, and SET unique_checks=0
  2. Интересно, стоит ли разбивать файлы .sql на несколько небольших файлов и запускать их параллельно, будет ли такая вещь?Работа?Не знаете, как безопасно разбить такой большой файл, и есть ли что-то, что могло бы пойти не так при этом?
...