Как приостановить MySQL, прежде чем делать снимок LVM / ZFS?

Как я могу обучить MySQL завершать все «незавершенные» транзакции, но откладывать запуск новых (без отключения клиентов) до тех пор, пока я не сделаю снимок ZFS или LVM (который занимает менее секунды).

например

  1. приостановить MySQL, ожидая завершения транзакций «в процессе»
  2. синхронизация с диском
  3. взять снимок ZFS / LVM
  4. resume MySQL. Целью этого является получение согласованного моментального снимка для целей резервного копирования. Шаг 2 занимает долю секунды.

Шаг первый не должен вызывать ошибки клиента, просто очень короткая пауза, пока не будет достигнут шаг 4.

Существуют ли команды MySQL, которые могут делать 1 и 4? Кто они такие?

One Solution collect form web for “Как приостановить MySQL, прежде чем делать снимок LVM / ZFS?”

Хакерным способом было бы ждать завершения транзакций:

mysql> FLUSH LOCAL TABLES; Query OK, 0 rows affected (11.31 sec)

и затем получить блокировку чтения:

mysql> FLUSH TABLES WITH READ LOCK; Query OK, 0 rows affected (22.55 sec)

Теперь все запросы блокируются (т. Е. Ждут блокировки для освобождения) до окончания сеанса. Имейте в виду – вам все равно придется ждать завершения всех транзакций. В зависимости от вашей рабочей нагрузки это может занять некоторое время (ОБНОВЛЕНИЕ нескольких миллионов строк …).

Вы можете закодировать это на своем любимом языке скриптов.

Но серьезно – почему бы не использовать Xtrabackup ? Он заботится о последовательном снимке mysql для вас, и вы можете выгрузить его в файловой системе, а zfs / lvm – сделать снимок.

  • Видя гораздо меньше полезного пространства, чем ожидалось, с помощью нового тома с использованием ZFS на Centos 7
  • Почему я не могу импортировать пул ZFS без разделения диска данных на fdisk?
  • Объединить разделы
  • ZFS отключает запись синхронизации в наборе данных
  • zfs-fuse: включение сжатия не влияет
  • Я отформатирую файловую систему zfs или просто монтирую и разделяю?
  • Как узнать, какие копии файла являются копиями COW?
  • Чтение файлов, принадлежащих другому пользователю, как не root
  • Как установить файловую систему zfs на другую файловую систему zfs в ubuntu 16.04
  • Кэширование записывает изменения на SSD, чтобы избежать разгона HDD? ZFS, но (возможно) не L2ARC
  • Zfs Replace - Как удалить диски после замены
  • Interesting Posts

    как выбрать подходящее оборудование linux – плохая производительность графики

    Jumphost неожиданно перезапустил первые попытки соединения SSH MUX

    Linux Distro / Project для цифровой грамотности

    Как сортировать файлы по части имени файла?

    Как выводить строки, разделенные запятыми, используя расширение brah brace

    Почему BIND не пытается автоматически запускать все серверы имен, особенно если сервер имен IPv6 недоступен?

    Сортировка по имени файла с помощью команды du

    Есть ли способ экспортировать переменную в разных оболочках?

    fish: sudo: !!: команда не найдена

    Как Linux обрабатывает блокирующие устройства?

    Запуск действия при посещении URL-адреса

    Сценарий Bash для минимизации PNG продолжает останавливаться

    Почему я получаю непоследовательные значения IP от icanhazip.com или curlmyip.com?

    Wget – зеркальное отображение полного сайта с реквизитами на разных сайтах

    Как определить, какие процессы используют, сколько энтропии из / dev / urandom

    Linux и Unix - лучшая ОС в мире.