Вопрос или проблема
Я настроил DMS CDC для изменений в MySQL, и моей целью является S3. Так что он работает нормально для вставок, обновлений, добавления/удаления столбцов, но ничего не делает для удаления строк.
Вот мой дополнительный атрибут подключения:
addColumnName=true;cdcInsertsAndUpdates=true;compressionType=NONE;csvDelimiter=,;csvRowDelimiter=\n;datePartitionEnabled=false;includeOpForFullLoad=true;
Таким образом, когда я выполняю удаление в MySQL, DMS это не отслеживает (нет файла удаления или идентификатора ‘D’ в csv)
Я получаю это для вставок и обновлений, но ничего для удаления.
Ответ или решение
Понимание проблемы: AWS DMS с CDC и удаление записей
При настройке AWS Database Migration Service (DMS) для изменения данных (CDC) можно столкнуться с проблемами, особенно когда речь идет об отслеживании удалений записей. В вашем случае, несмотря на успешность обработки операций вставки и обновления, записи удалений из MySQL не фиксируются, и это может быть связано с несколькими факторами.
Основные аспекты настройки DMS
-
CDC на уровне MySQL: Для корректного отслеживания изменений с помощью DMS, особенно для изменений, связанных с удалением, необходимо убедиться, что ваша MySQL настроена для поддержки записи изменений. Это достигается включением бинарного логирования, что позволяет DMS захватывать все операции, включая удаления.
-
Параметры соединения: Ошибка может быть вызвана неправильной конфигурацией ваших параметров соединения. В приведённой вами конфигурации отсутствует параметр, который мог бы явно указать DMS отслеживать операции удаления. Рассмотрите возможность добавления параметра
cdcDeletes=true
в ваш список атрибутов соединения. -
Состояние реплики: Проверьте состояние реплики MySQL, так как DMS использует ее для захвата изменений. Если реплика не находится в актуальном состоянии или если почему-то задерживается в захвате данных, это может привести к пропуску операций удаления.
Рекомендации по улучшению настройки
-
Проверка бинарного логирования в MySQL:
- Убедитесь, что бинарное логирование включено и правильно настроено. Для этого проверьте конфигурацию вашего MySQL:
SHOW VARIABLES LIKE 'log_bin';
- Убедитесь, что бинарное логирование включено и правильно настроено. Для этого проверьте конфигурацию вашего MySQL:
-
Настройка DMS:
- Добавьте
cdcDeletes=true
к параметрам соединения:addColumnName=true;cdcInsertsAndUpdates=true;cdcDeletes=true;compressionType=NONE;csvDelimiter=,;csvRowDelimiter=\n;datePartitionEnabled=false;includeOpForFullLoad=true;
- Добавьте
-
Тестирование: После внесения изменений произведите тестирование, удалив несколько записей в MySQL, и проверьте наличие соответствующих записей в S3. Убедитесь, что возникшие ошибки логируются, что упростит диагностику.
Заключение
Корректная настройка AWS DMS для отслеживания удалений может потребовать дополнительных шагов и проверки конфигурации. Следуя описанным рекомендациям, вы сможете наладить процесс миграции и достичь ожидаемых результатов. Для более сложных сценариев может понадобиться углубленное изучение журналов DMS и MySQL, чтобы выявить другие возможные аномалии или ограничения.
SEO-оптимизация
Чтобы ваш вопрос и ответ были более заметными в поисковых системах, рекомендуется использовать ключевые слова: AWS DMS, CDC, MySQL, отслеживание удалений, миграция данных, устранение неполадок. Так вы сможете привлечь больше читателей, и они смогут быстрее найти решения своих проблем, связанных с AWS DMS.