Поддерживает ли MySQL ClickPipe MariaDB?
Поддерживает ли MySQL ClickPipe PlanetScale, Vitess или TiDB?
Как управляется репликация?
GTID, так и через FilePos. В отличие от Postgres, здесь нет слота для управления смещением. Вместо этого нужно настроить сервер MySQL с достаточным периодом хранения binlog. Если наше смещение в binlog станет недействительным (например, если mirror был слишком долго приостановлен или при использовании репликации FilePos произошло аварийное переключение базы данных), вам потребуется повторно синхронизировать пайп. Обязательно оптимизируйте materialized view, зависящие от целевых таблиц, поскольку неэффективные запросы могут замедлить ингестию так, что она начнёт отставать и выйдет за пределы периода хранения.
Также возможно, что неактивная база данных выполнит ротацию файла журнала, не давая ClickPipes перейти к более новому смещению. В этом случае может потребоваться настроить таблицу heartbeat с регулярными обновлениями по расписанию.
В начале начальной загрузки мы фиксируем смещение binlog, с которого нужно начинать. Это смещение должно оставаться действительным к моменту завершения начальной загрузки, чтобы CDC (фиксация изменений данных) мог продолжиться. Если вы выполняете приём большого объёма данных, обязательно настройте подходящий период хранения binlog. При настройке таблиц вы можете ускорить начальную загрузку, включив параметр Use a custom partitioning key for initial load для больших таблиц в расширенных настройках, чтобы мы могли загружать одну таблицу параллельно.
Почему при подключении к MySQL возникает ошибка проверки TLS-сертификата?
x509: certificate is not valid for any names или x509: certificate signed by unknown authority. Это происходит потому, что ClickPipes по умолчанию использует шифрование TLS.
У вас есть несколько способов решить эти проблемы:
- Укажите поле TLS Host — если имя хоста в вашем подключении не совпадает с именем в сертификате (это часто бывает при использовании AWS PrivateLink через Endpoint Service). Установите значение “TLS Host (optional)” так, чтобы оно совпадало с Common Name (CN) или Subject Alternative Name (SAN) сертификата.
- Загрузите свой корневой CA — для серверов MySQL, использующих внутренние центры сертификации, или Google Cloud SQL со стандартной конфигурацией CA на instance. Подробнее о том, как получить доступ к сертификатам Google Cloud SQL, см. в этом разделе.
- Настройте сертификат сервера — обновите SSL-сертификат сервера так, чтобы он включал все имена хостов, используемые для подключения, и был подписан доверенным центром сертификации.
- Отключите проверку сертификата — для самоуправляемого MySQL или MariaDB, в конфигурации по умолчанию которых создаётся самоподписанный сертификат, который мы не можем проверить (MySQL, MariaDB). Использование такого сертификата шифрует данные при передаче, но создаёт риск подмены сервера. Для промышленных сред мы рекомендуем использовать корректно подписанные сертификаты, однако этот вариант удобен для разового тестирования или при подключении к устаревшей инфраструктуре.