В настоящее время наш сервер баз данных в реальном времени ежедневно загружает большие дампы данных (порядка 10 ГБ), импортирует их в MySQL, нормализует данные и создает ряд индексов (полнотекстовые индексы особенно обременительны). Это создает значительную нагрузку на живой сервер, который мы хотели бы разгрузить.
В идеале мы должны иметь отдельный автономный сервер, который будет выполнять всю эту работу, а затем просто упаковать и перенести таблицу с целыми индексами на работающий сервер. Возможно ли это с MySQL (или MariaDB)? Это таблицы MyISAM, так как мы используем функциональность слияния.
Из того, что я видел, копирование файлов напрямую не является рекомендуемым способом, но можем ли мы сделать это, если сможем гарантировать согласованные версии MySQL на двух компьютерах и что таблицы не используются во время передачи? Если это так, есть ли какие-либо другие шаги, которые необходимо предпринять, кроме копирования файлов .frm, .MYD и .MYI?
Ответы:
У меня похожая настройка / проблема, и в настоящее время я изучаю репликацию.
Главный сервер выполнит все обработки чисел, обработка данных будет выполнена на не реплицированной базе данных DBtemp. * На главном сервере, а затем перенесена в DBprod. * На главном сервере, который реплицируется.
Все еще в процессе установки, поэтому не могу дать результатов, но, надеюсь, это снижает нагрузку на ведомый (который является действующим сервером)
источник