> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-postgresql-tls-support.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 = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

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>Бета</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Возможность в статусе бета. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        Подробнее.
                    </a>
                </u>
            </span>
        </div>;
};

<BetaBadge />

<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-postgresql-tls-support/w-Unfx0B83cK7_6Z/images/integrations/data-ingestion/clickpipes/cp_service.webp?fit=max&auto=format&n=w-Unfx0B83cK7_6Z&q=85&s=f39164a8abccd8fdb779a6742818c4d1" alt="Сервис ClickHouse Cloud" size="lg" border width="1184" height="482" data-path="images/integrations/data-ingestion/clickpipes/cp_service.webp" />

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

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/w-Unfx0B83cK7_6Z/images/integrations/data-ingestion/clickpipes/cp_step0.webp?fit=max&auto=format&n=w-Unfx0B83cK7_6Z&q=85&s=e9541eb0c881173eacc746f45524d8d4" alt="Выбор импорта" size="lg" border width="2606" height="790" data-path="images/integrations/data-ingestion/clickpipes/cp_step0.webp" />

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

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/w-Unfx0B83cK7_6Z/images/integrations/data-ingestion/clickpipes/mysql/mysql-tile.webp?fit=max&auto=format&n=w-Unfx0B83cK7_6Z&q=85&s=46f003d099bbe163c7730b5bc66bd913" alt="Выберите MySQL" size="lg" border width="2612" height="892" data-path="images/integrations/data-ingestion/clickpipes/mysql/mysql-tile.webp" />

<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-postgresql-tls-support/w-Unfx0B83cK7_6Z/images/integrations/data-ingestion/clickpipes/mysql/mysql-connection-details.webp?fit=max&auto=format&n=w-Unfx0B83cK7_6Z&q=85&s=f6bb2de138060031e4dfabe841d6ab18" alt="Заполните сведения о подключении" size="lg" border width="1842" height="1556" data-path="images/integrations/data-ingestion/clickpipes/mysql/mysql-connection-details.webp" />

<div id="optional-changing-tls-settings">
  #### (Необязательно) Изменение настроек TLS
</div>

По умолчанию ваш ClickPipe создаётся с включённым TLS и проверкой сертификата. Эти параметры можно изменить при создании ClickPipe:

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/vgIzai2BO-JprHxt/images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp?fit=max&auto=format&n=vgIzai2BO-JprHxt&q=85&s=74844298c00ea03a9ba16d838b8bca4e" alt="Настройки TLS" width="1113" height="688" data-path="images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp" />
</Frame>

Или отредактировать в разделе *Connection settings* на вкладке *Settings* приостановленного ClickPipe:

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/vgIzai2BO-JprHxt/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?fit=max&auto=format&n=vgIzai2BO-JprHxt&q=85&s=70fa9c34556543931a8d2af84ab8b96c" alt="Connection settings -> Edit Connection" data-og-width="1035" width="1035" data-og-height="312" height="312" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/vgIzai2BO-JprHxt/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=280&fit=max&auto=format&n=vgIzai2BO-JprHxt&q=85&s=eda786fdc17f3afa9113872ebc420310 280w, https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/vgIzai2BO-JprHxt/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=560&fit=max&auto=format&n=vgIzai2BO-JprHxt&q=85&s=2324c139d7ce0044d4839694d13a6980 560w, https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/vgIzai2BO-JprHxt/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=840&fit=max&auto=format&n=vgIzai2BO-JprHxt&q=85&s=8e1240b300dcdd76f8ae24951ee4eba9 840w, https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/vgIzai2BO-JprHxt/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1100&fit=max&auto=format&n=vgIzai2BO-JprHxt&q=85&s=2383e2cf1bb5c5e66ce2c5e9a2e9c3c1 1100w, https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/vgIzai2BO-JprHxt/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1650&fit=max&auto=format&n=vgIzai2BO-JprHxt&q=85&s=f19496e27cb541f75150ad9e2813ebe4 1650w, https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/vgIzai2BO-JprHxt/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=2500&fit=max&auto=format&n=vgIzai2BO-JprHxt&q=85&s=f57be7c8c9f38d52b00df4099e2b987d 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/vgIzai2BO-JprHxt/images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp?fit=max&auto=format&n=vgIzai2BO-JprHxt&q=85&s=f9e5783468caf2c8bcaa337733ef2505" alt="Edit Connection" width="703" height="542" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp" />
</Frame>

Где:

* `Disable TLS` включает или отключает TLS для соединения. Если TLS отключён, данные передаются по сети в открытом виде, включая потенциально учётные данные и другую конфиденциальную информацию.
* `Skip certificate verification` включает или отключает проверку сертификата, предоставленного исходной базой данных. Учитывайте риски для безопасности при отключении проверки сертификата.
* `TLS Host` (необязательно; по умолчанию используется исходный *Host*) — это hostname, с которым должен совпадать CN сертификата, если включена проверка сертификата.
* `Upload CA` используется для загрузки CA, который применяется при включённой проверке сертификата.

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

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

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

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

   <Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/vgIzai2BO-JprHxt/images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg?fit=max&auto=format&n=vgIzai2BO-JprHxt&q=85&s=3f4a773f7c4c67212b39e13339819d5a" 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, поэтому он может соблюдаться не во всех случаях.
* **Количество строк снимка на партицию**: количество строк, которое будет извлекаться в каждой партиции во время начального снимка. Это полезно, если в ваших таблицах много строк и вы хотите управлять количеством строк, извлекаемых в каждой партиции.
* **Количество таблиц в снимке, обрабатываемых параллельно**: количество таблиц, которые будут извлекаться параллельно во время начального снимка. Это полезно, если у вас много таблиц и вы хотите управлять количеством таблиц, извлекаемых параллельно.
* **Server ID**: необязательный параметр для задания идентификатора сервера для репликации binlog на сервере MySQL. Если он не задан, ClickPipes сгенерирует случайный идентификатор сервера, который может меняться в течение жизненного цикла ClickPipe. Используйте его, чтобы однозначно идентифицировать ваш ClickPipe на стороне исходного сервера MySQL.

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

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

   <Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/w-Unfx0B83cK7_6Z/images/integrations/data-ingestion/clickpipes/mysql/select-destination-db.webp?fit=max&auto=format&n=w-Unfx0B83cK7_6Z&q=85&s=afa4fd94f1b35e390d63bfca38a2e4cc" alt="Выберите целевую базу данных" size="lg" border width="2368" height="614" data-path="images/integrations/data-ingestion/clickpipes/mysql/select-destination-db.webp" />

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-postgresql-tls-support/vgIzai2BO-JprHxt/images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg?fit=max&auto=format&n=vgIzai2BO-JprHxt&q=85&s=3b7fda39ac066231cb3469e865985d64" 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).
