При бэкапе базы я получаю ошибку триггера:
mysqldump: Couldn't execute 'SHOW CREATE TRIGGER `orders_after_delete`': Trigger does not exist (1360)
При дампе таблиц базы поочередно, все же удается сохранить дамп базы частями, но при развертывании таблицы order опять фикируем ошибку:
ERROR 1359 (HY000) at line 13313: Trigger 'al.orders_after_delete' already exists
Подключаюсь к основной базе и командой SHOW TRIGGERS; смотрю, что такой триггер есть orders_after_delete.
Хочу его пересоздать (удалить и добавить заново), но при удалении триггера, его как буд-то нет:
MariaDB [al]> DROP TRIGGER orders_after_delete;
ERROR 1360 (HY000): Trigger does not exist
Проверка базы на ошибки проходит успешно, но триггер все равно висит у таблицы orders и не удаляется ни через консоль, ни через phpmyadmin.
# mysqlcheck -u**** -p -r al orders
al.orders OK
РЕШЕНИЕ ПРОБЛЕМЫ:
1) Необходимо создать одноименный триггер из консоли mariadb для этой же таблицы
При этом SHOW TRIGGERS будет показывать два триггера orders_after_delete.
Но зато команда выполнения дампа базы и восстановления базы будут идти без сбоев.
2) В час наименьшей нагрузки выполняем удаление сбойного триггера так:
2.1) Подключаемся к базе
# mysql -hlocalhost --user <ПОЛЬЗОВАТЕЛЬ> -p<ПАРОЛЬ>
>USE al;
2.2) Вводим команду удаления триггера:
DROP TRIGGER orders_after_delete;
Удаляется при этом один триггер (который создали ранее для решения проблемы создания дампа), а второй сбойный триггер остается в системе.
Попытки его удалить вновь не удачные:
MariaDB [al]> DROP TRIGGER orders_after_delete;
ERROR 1360 (HY000): Trigger does not exist
2.3) Переименовываем таблицу orders
MariaDB [al]> ALTER TABLE orders RENAME TO orders2;
Query OK, 0 rows affected (0.07 sec)
2.4) Удаляем сбойный триггер. Теперь он удаляется без проблем:
MariaDB [al]> DROP TRIGGER orders_after_delete;
Query OK, 0 rows affected (0.01 sec)
2.5) Возвращаем таблице исходное название:
MariaDB [al]> ALTER TABLE orders2 RENAME TO orders;
Query OK, 0 rows affected (0.00 sec)
2.6) Создаем триггер
Теперь в системе отображается один триггер, дампы выполняются успешно, восстановление - тоже.
Комментариев нет:
Отправить комментарий