Как настроить event в MariaDB?

Настройка event в MariaDB может быть достаточно простой задачей, и она позволяет автоматизировать выполнение задач в базе данных в определенное время или при определенных условиях. Чтобы настроить event в MariaDB, вам потребуется выполнить несколько шагов.

Шаг 1: Проверка поддержки event
Убедитесь, что ваша версия MariaDB поддерживает event. Для этого выполните следующую команду:

SHOW VARIABLES LIKE 'event_scheduler';

Если значение переменной event_scheduler равно ON, значит, event поддерживается. Если значение равно OFF, вам потребуется включить event_scheduler, отредактировав файл my.cnf (обычно расположен в /etc/mysql/my.cnf) и добавив следующую строку в секцию [mysqld]:

event_scheduler=ON

После внесения изменений перезагрузите сервер базы данных.

Шаг 2: Создание события (event)
Для создания события используется оператор CREATE EVENT, который имеет следующий синтаксис:

CREATE EVENT event_name
ON SCHEDULE [schedule]
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE | DISABLE ON SLAVE]
[COMMENT 'string']
DO event_body;

Где:
- event_name - имя события, вы можете выбрать любое уникальное имя;
- schedule - расписание выполнения события, вы можете определить интервалы времени или даже даты и время, когда событие должно быть выполнено;
- ON COMPLETION [NOT] PRESERVE - определяет, сохранять или нет событие после его выполнения;
- ENABLE | DISABLE | DISABLE ON SLAVE - определяет статус события (включено, отключено или отключено на slave-сервере);
- COMMENT - необязательный комментарий, который может содержать дополнительную информацию;
- event_body - код или SQL-запрос, который будет выполнен при наступлении события.

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

CREATE EVENT my_event
ON SCHEDULE EVERY 1 DAY
STARTS '2022-01-01 12:00:00'
DO
BEGIN
-- ваш код или SQL-запрос
END;

Шаг 3: Активирование события
Созданное событие не будет автоматически активировано, пока вы не запустите его вручную или не зададите параметр ENABLE при его создании. Чтобы активировать событие, выполните следующую команду:

ALTER EVENT my_event ENABLE;

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

ALTER EVENT my_event DISABLE;

Шаг 4: Просмотр и управление событиями
Чтобы просмотреть список событий, используйте команду:

SHOW EVENTS;

Вы также можете воспользоваться следующими командами для управления событиями:
- ALTER EVENT - позволяет изменять определения событий;
- DROP EVENT - удаляет событие из базы данных.

Это базовый обзор настройки event в MariaDB. С помощью этой функциональности вы можете автоматизировать различные задачи в базе данных, такие как ежедневное создание отчетов или очистка неактуальных данных.