Здесь речь идет о файлах размером 100G+ и более. Обычно достаточно просто подождать, пока завершится восстановление. Для файлов резервных копий SQL размером в несколько сотен гигабайт не рекомендуется использовать такие программы, как Mobxterm или Xshell, так как могут возникнуть странные проблемы. Лучше использовать оригинальную команду scp для передачи. Команда scp
предназначена для безопасного копирования файлов и каталогов между операционными системами Linux и Unix. Конкретные команды копирования scp можно найти в этой статье: https://bmzhp.com/knowledge/174.html
После того как SQL файл будет скопирован на сервер Linux, вы можете оптимизировать MySQL для ускорения восстановления резервной копии, следуя этим стратегиям:
1. Настройка буферного пула
MySQL использует память для кеширования запросов и данных таблиц, чтобы уменьшить операции ввода-вывода на диске. Если у вас есть больше доступной памяти, вы можете увеличить следующие параметры буферного пула:
innodb_buffer_pool_size
: Если вы используете движок хранения InnoDB, стоит рассмотреть возможность установки этого параметра на 70% до 80% от доступной памяти.key_buffer_size
: Если вы используете движок хранения MyISAM, рекомендуется увеличить этот параметр для повышения производительности.
2. Включение пакетного режима
MySQL поддерживает импорт в пакетном режиме, чтобы ускорить процесс импорта SQL файла. Для этого при импорте SQL файла используйте следующую команду:
|
|
Здесь --default-character-set=utf8
можно настроить в соответствии с набором символов вашего SQL файла. Кроме того, вы можете использовать следующие параметры для активации пакетного режима:
|
|
В этой команде max_allowed_packet
задает максимальный размер пакета MySQL, а net_buffer_length
указывает размер сетевого буфера MySQL. Эти параметры можно адаптировать в зависимости от ваших аппаратных ресурсов для повышения скорости импорта.
3. Отключение логирования
MySQL при выполнении SQL файла записывает каждую команду в двоичный журнал для резервного копирования и восстановления. Однако если вам не нужен двоичный журнал, вы можете отключить его для ускорения импорта. Для этого добавьте следующую строку в файл конфигурации MySQL:
|
|
4. Отключение проверки внешних ключей
MySQL также проверяет ограничения внешних ключей при выполнении SQL файла для обеспечения целостности данных. Если ваш SQL файл уже соответствует ограничениям внешнего ключа, вы можете отключить эту функцию для ускорения импорта. Для этого в начале SQL файла добавьте следующую команду:
|
|
Затем в конце SQL файла добавьте:
|
|
Таким образом, вы временно отключаете проверки внешних ключей, а затем снова их включаете.
Наконец, убедитесь, что ваша версия MySQL обновлена до последней и что все необходимые исправления и обновления безопасности применены. Это поможет гарантировать, что ваша база данных MySQL работает эффективно, безопасно и стабильно.