> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Легко настройте приём данных из вашей базы данных MySQL или MariaDB в ClickHouse Cloud.

# Приём данных из MySQL в ClickHouse (с использованием CDC)

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

export const galaxyOnClick = eventName => () => {
  try {
    if (typeof window !== "undefined" && window.galaxy && eventName) {
      window.galaxy.track(eventName, {
        interaction: "click"
      });
    }
  } catch (e) {}
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Beta feature. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        Learn more.
                    </a>
                </u>
            </span>
        </div>;
};

<Info>
  Приём данных из MySQL в ClickHouse Cloud через ClickPipes доступен в рамках публичной бета-версии.
</Info>

MySQL ClickPipe предоставляет полностью управляемое и отказоустойчивое решение для приёма данных из баз данных MySQL и MariaDB в ClickHouse Cloud. Он поддерживает как **пакетную загрузку** для одноразовой ингестии, так и **CDC (фиксацию изменений данных)** для непрерывной ингестии.

MySQL ClickPipes можно развёртывать и управлять ими вручную через интерфейс ClickPipes, а также программно с использованием [OpenAPI](/ru/integrations/clickpipes/programmatic-access/openapi) и [Terraform](/ru/integrations/clickpipes/programmatic-access/terraform).

<div id="prerequisites">
  ## Предварительные требования
</div>

[//]: # "TODO Конфигурация репликации binlog не нужна для одноразовых пайпов ингестии. В прошлом это уже вызывало путаницу, поэтому нам также следует указать минимальные требования для пакетной загрузки, чтобы не отпугнуть пользователей."

Чтобы начать, сначала убедитесь, что ваша база данных MySQL правильно настроена для репликации binlog. Шаги настройки зависят от того, как именно развёрнут MySQL, поэтому следуйте соответствующему руководству ниже:

<div id="supported-data-sources">
  ### Поддерживаемые источники данных
</div>

| Name                                                              | Logo | Details                                                                                                                               |
| ----------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Amazon RDS MySQL** <br /> *Однократная загрузка, CDC*           |      | См. [руководство по настройке Amazon RDS MySQL](/ru/integrations/clickpipes/mysql/source/rds).                                        |
| **Amazon Aurora MySQL** <br /> *Однократная загрузка, CDC*        |      | См. [руководство по настройке Amazon Aurora MySQL](/ru/integrations/clickpipes/mysql/source/aurora).                                  |
| **Cloud SQL for MySQL** <br /> *Однократная загрузка, CDC*        |      | См. [руководство по настройке Cloud SQL for MySQL](/ru/integrations/clickpipes/mysql/source/gcp).                                     |
| **Azure Flexible Server for MySQL** <br /> *Однократная загрузка* |      | См. [руководство по настройке Azure Flexible Server for MySQL](/ru/integrations/clickpipes/mysql/source/azure-flexible-server-mysql). |
| **Самоуправляемый MySQL** <br /> *Однократная загрузка, CDC*      |      | См. [руководство по настройке Общий MySQL](/ru/integrations/clickpipes/mysql/source/generic).                                         |
| **Amazon RDS MariaDB** <br /> *Однократная загрузка, CDC*         |      | См. [руководство по настройке Amazon RDS MariaDB](/ru/integrations/clickpipes/mysql/source/rds-maria).                                |
| **Самоуправляемый MariaDB** <br /> *Однократная загрузка, CDC*    |      | См. [руководство по настройке Общий MariaDB](/ru/integrations/clickpipes/mysql/source/generic-maria).                                 |

После настройки исходной базы данных MySQL можно перейти к созданию ClickPipe.

<div id="create-your-clickpipe">
  ## Создайте ClickPipe
</div>

Убедитесь, что вы вошли в свою учётную запись ClickHouse Cloud. Если у вас ещё нет учётной записи, вы можете зарегистрироваться [здесь](https://cloud.clickhouse.com/).

[//]: # "   TODO update image here"

1. В консоли ClickHouse Cloud перейдите к своему сервису ClickHouse Cloud.

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/lGskH5qUgz9Vtlav/images/integrations/data-ingestion/clickpipes/cp_service.png?fit=max&auto=format&n=lGskH5qUgz9Vtlav&q=85&s=1fa8d992c5f2b6c481249d120e8715a2" alt="Сервис ClickHouse Cloud" size="lg" border width="1184" height="482" data-path="images/integrations/data-ingestion/clickpipes/cp_service.png" />

2. Выберите кнопку `Data Sources` в меню слева и нажмите «Set up a ClickPipe»

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/lGskH5qUgz9Vtlav/images/integrations/data-ingestion/clickpipes/cp_step0.png?fit=max&auto=format&n=lGskH5qUgz9Vtlav&q=85&s=8604d9b9df8655f1edcdc73536e5def1" alt="Выбор импорта" size="lg" border width="2606" height="790" data-path="images/integrations/data-ingestion/clickpipes/cp_step0.png" />

3. Выберите плитку `MySQL CDC`

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/lGskH5qUgz9Vtlav/images/integrations/data-ingestion/clickpipes/mysql/mysql-tile.png?fit=max&auto=format&n=lGskH5qUgz9Vtlav&q=85&s=440aa5315af39662e9dc50c6bc19a0d2" alt="Выберите MySQL" size="lg" border width="2612" height="892" data-path="images/integrations/data-ingestion/clickpipes/mysql/mysql-tile.png" />

<div id="add-your-source-mysql-database-connection">
  ### Добавьте подключение к исходной базе данных MySQL
</div>

4. Заполните сведения о подключении к вашей исходной базе данных MySQL, которую вы настроили на этапе предварительной подготовки.

<Info>
  Прежде чем добавлять сведения о подключении, убедитесь, что IP-адреса ClickPipes добавлены в список разрешённых в правилах брандмауэра. На следующей странице вы найдёте [список IP-адресов ClickPipes](/ru/integrations/clickpipes/home#list-of-static-ips).
  Дополнительные сведения см. в руководствах по настройке исходной базы данных MySQL, ссылки на которые приведены [в верхней части этой страницы](#prerequisites).
</Info>

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/lGskH5qUgz9Vtlav/images/integrations/data-ingestion/clickpipes/mysql/mysql-connection-details.png?fit=max&auto=format&n=lGskH5qUgz9Vtlav&q=85&s=26fbf77f95a6bc2a8f918f58c67e9530" alt="Заполните сведения о подключении" size="lg" border width="1842" height="1556" data-path="images/integrations/data-ingestion/clickpipes/mysql/mysql-connection-details.png" />

<div id="optional-set-up-ssh-tunneling">
  #### (Необязательно) Настройте SSH-туннелирование
</div>

Вы можете указать параметры SSH-туннелирования, если ваша исходная база данных MySQL недоступна из интернета.

1. Включите переключатель "Use SSH Tunnelling".

2. Заполните сведения для SSH-подключения.

   <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/8xU-7NRzcVe16bmG/images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg?fit=max&auto=format&n=8xU-7NRzcVe16bmG&q=85&s=c257ddbc479fb91047b029a3ddef29aa" alt="SSH-туннелирование" size="lg" border width="1780" height="1342" data-path="images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg" />

3. Чтобы использовать аутентификацию по ключу, нажмите "Revoke and generate key pair", чтобы создать новую пару ключей, и скопируйте сгенерированный открытый ключ на ваш SSH-сервер в `~/.ssh/authorized_keys`.

4. Нажмите "Verify Connection", чтобы проверить подключение.

<Note>
  Убедитесь, что [IP-адреса ClickPipes](/ru/integrations/clickpipes/home#list-of-static-ips) добавлены в список разрешённых в правилах вашего брандмауэра для SSH-бастиона, чтобы ClickPipes мог установить SSH-туннель.
</Note>

После заполнения сведений о подключении нажмите `Next`.

<div id="advanced-settings">
  #### Настройка расширенных параметров
</div>

При необходимости можно настроить расширенные параметры. Краткое описание каждого параметра приведено ниже:

* **Интервал синхронизации**: интервал, с которым ClickPipes будет опрашивать исходную базу данных на предмет изменений. Это влияет на целевой сервис ClickHouse, поэтому пользователям, чувствительным к затратам, рекомендуется задавать здесь более высокое значение (свыше `3600`).
* **Параллельные потоки для начальной загрузки**: количество параллельных воркеров, которые будут использоваться для получения начального снимка. Это полезно, если у вас много таблиц и вы хотите управлять числом параллельных воркеров, используемых для получения начального снимка. Этот параметр задается отдельно для каждой таблицы.
* **Размер батча Pull**: количество строк, извлекаемых за один батч. Это параметр best effort, поэтому он может соблюдаться не во всех случаях.
* **Количество строк снимка на партицию**: количество строк, которое будет извлекаться в каждой партиции во время начального снимка. Это полезно, если в ваших таблицах много строк и вы хотите управлять количеством строк, извлекаемых в каждой партиции.
* **Количество таблиц в снимке, обрабатываемых параллельно**: количество таблиц, которые будут извлекаться параллельно во время начального снимка. Это полезно, если у вас много таблиц и вы хотите управлять количеством таблиц, извлекаемых параллельно.

<div id="configure-the-tables">
  ### Настройте таблицы
</div>

5. Здесь вы можете выбрать целевую базу данных для вашего ClickPipe. Можно выбрать существующую базу данных или создать новую.

   <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/8xU-7NRzcVe16bmG/images/integrations/data-ingestion/clickpipes/mysql/select-destination-db.png?fit=max&auto=format&n=8xU-7NRzcVe16bmG&q=85&s=25847aef93aa36d6d3f94cdc2649579a" alt="Выберите целевую базу данных" size="lg" border width="2368" height="614" data-path="images/integrations/data-ingestion/clickpipes/mysql/select-destination-db.png" />

6. Вы можете выбрать таблицы, которые хотите реплицировать из исходной базы данных MySQL. При выборе таблиц также можно переименовать их в целевой базе данных ClickHouse и исключить отдельные столбцы.

<div id="review-permissions-and-start-the-clickpipe">
  ### Проверьте разрешения и запустите ClickPipe
</div>

7. Выберите роль "Full access" в раскрывающемся списке разрешений и нажмите "Complete Setup".

   <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/8xU-7NRzcVe16bmG/images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg?fit=max&auto=format&n=8xU-7NRzcVe16bmG&q=85&s=220285c9d16d656b26c97fd0587b9086" alt="Проверка разрешений" size="lg" border width="1844" height="716" data-path="images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg" />

Наконец, см. страницу ["FAQ по ClickPipes для MySQL"](/ru/integrations/clickpipes/mysql/faq), где описаны распространённые проблемы и способы их решения.

<div id="whats-next">
  ## Что дальше?
</div>

[//]: # "TODO Написать отдельное руководство по миграции для MySQL и рекомендации по лучшим практикам, аналогичные существующим материалам для PostgreSQL. Текущее руководство по миграции ссылается на движок таблицы MySQL, что не лучший вариант."

После того как вы настроите ClickPipe для репликации данных из MySQL в ClickHouse Cloud, можно сосредоточиться на том, как запрашивать и моделировать данные для оптимальной производительности. Ответы на распространённые вопросы о MySQL CDC и устранении неполадок см. на [странице с часто задаваемыми вопросами по MySQL](/ru/integrations/clickpipes/mysql/faq).
