Как заставить ждать импорт файла sql? - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть 3 контейнера: nginx, php-fpm и mysql 5.7. Я импортирую большой файл SQL с объемом. Когда я подключаюсь к контейнеру mysql, вижу только часть таблиц.

Как правильно ждать импорта файла SQL. Не могли бы вы привести пример использования (Healthcheck или .sh файл)?

1 Ответ

1 голос
/ 07 ноября 2019

Ну, есть этот просмотрщик каналов, который вы можете использовать для импорта из файлов дампа. В этом случае администратора базы данных .

это хорошо объяснено. Вы можете использовать livenessProbe , чтобы проверить, отвечает ли mysql, это может выглядеть следующим образом:

livenessProbe:
  exec:
    command: ["mysqladmin", "ping"]
  initialDelaySeconds: 30
  periodSeconds: 10
  timeoutSeconds: 5

Перед первой проверкой она ждет 30 секунд, после чего каждые 10 секунд проводится очередная проверка. Тайм-аут для сбоя установлен на 5 секунд.

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

readinessProbe:
  exec:
     # Check we can execute queries over TCP (skip-networking is off).
    command: ["mysql", "-h", "127.0.0.1", "-e", "SELECT 1"]
  initialDelaySeconds: 5
  periodSeconds: 2
  timeoutSeconds: 1

Команда будетвыполняется через 5 секунд после запуска контейнера и будет выполняться каждые 2 секунды. Зонд выйдет из строя через 1 секунду. pod не будет в состоянии Ready, поэтому он не будет принимать соединения при сбое зонда.

...