MySQL | Qlik Cloud Справка
Перейти к основному содержимому Перейти к дополнительному содержимому

MySQL

В этом разделе объясняется, как настроить подключение к целевой базе данных MySQL с помощью целевого коннектора MySQL. MySQL можно использовать в качестве целевой базы данных только в задаче репликации. Прежде чем вы сможете подключиться к целевой базе данных MySQL, необходимо настроить Необходимые разрешения в базе данных. Если вы подключаетесь к MySQL через Шлюз движения данных, вам также необходимо установить драйвер, как описано в разделе Настройка драйвера.

Для получения информации об ограничениях и рекомендациях при использовании коннектора MySQL см. раздел Ограничения и рекомендации.

Настройка свойств подключения

Для настройки коннектора выполните следующие действия:

  1. В разделе Подключения нажмите Создать подключение.

  2. Выберите целевой коннектор MySQL и укажите следующие параметры:

Целевые данные

  • Шлюз данных: При работе с Шлюз движения данных выберите шлюз данных, который будет использоваться для проверки подключения к целевой базе данных MySQL. Это должен быть тот же шлюз, который использовался для доступа к источнику данных.

    Примечание к информации
    • Это поле недоступно для подписки Qlik Talend Cloud Starter, так как Шлюз движения данных не поддерживается на этом уровне подписки.
    • Вам также необходимо установить соответствующий драйвер на компьютере Шлюз движения данных. Для получения подробной информации см. раздел Настройка драйвера ниже.

  • Облачный провайдер: Выберите один из следующих вариантов в зависимости от ситуации:

      • Для локальной версии MySQL, MariaDB, Amazon Aurora или Microsoft Azure Database for MySQL - Flexible Server.
      • При работе без Шлюз движения данных
    • Для Amazon RDS for MariaDB или Amazon RDS for MySQL.

    • Для Google Cloud SQL for MySQL.

    • Для Microsoft Azure Database for MySQL.

  • Сервер: Имя хоста или IP-адрес компьютера, на котором установлена база данных MySQL.

  • Порт: Порт, используемый при подключении к базе данных. Значение по умолчанию — 3306.

Свойства учетной записи

Имя пользователя и Пароль: Имя пользователя и пароль пользователя, авторизованного для доступа к базе данных MySQL Server.

Свойства базы данных

  • Тип целевой базы данных: Выберите один из следующих вариантов:
    • Конкретная база данных: Если выбрана эта опция, все исходные схемы будут загружены в указанную Базу данных.
    • Несколько баз данных: Если выбрана эта опция, каждая из исходных схем будет загружена в соответствующую базу данных. Кроме того, по умолчанию все управляющие таблицы будут реплицированы в новую схему с именем attrep_control. Для получения дополнительной информации об управляющих таблицах см. раздел Управляющие таблицы.
  • Максимальный размер файла (КБ): Выберите или введите максимальный размер (в КБ) CSV-файла перед его загрузкой в целевую базу данных MySQL. Значение по умолчанию — 32000 КБ.
  • Потоки параллельной загрузки: Увеличение количества потоков может повысить производительность при загрузке данных в целевую базу данных MySQL. Обратите внимание, что установка большого количества потоков может негативно сказаться на производительности базы данных, так как для каждого потока требуется отдельное подключение.

Внутренние свойства

Внутренние свойства предназначены для особых вариантов использования и поэтому не отображаются в диалоговом окне. Их можно использовать только по указанию службы поддержки Qlik.

Используйте кнопки Создать и Отмена справа от полей, чтобы при необходимости добавить или удалить свойства.

Имя

Отображаемое имя для подключения.

Предварительные требования

Необходимые разрешения

Пользователю, указанному в настройках коннектора, должны быть предоставлены:

  • Доступ к учетной записи MySQL
  • Привилегии чтения/записи в базе данных MySQL
  • Следующие разрешения для каждой целевой схемы, участвующей в репликации:
    • ALTER
    • CREATE
    • CREATE TEMPORARY TABLES
    • DELETE
    • DROP
    • INSERT
    • SELECT
    • UPDATE

Настройка драйвера

В этом разделе описывается процедура установки необходимого driverа. Она включает выполнение скрипта, который автоматически загружает, устанавливает и настраивает необходимый driver. Также можно выполнять скрипты для обновления и удаления driverа по необходимости.

  • Убедитесь, что на сервере шлюза Data Movement установлена версия Python 3.6 или более поздняя.

    Python предустанавливается в большинстве дистрибутивов Linux. Чтобы проверить, какая версия Python установлена в системе, выполните следующую команду:

    python3 --version

Чтобы загрузить и установить driver, выполните следующие действия.

  1. На компьютере шлюза Data Movement измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

  2. Выполните следующую команду:

    Синтаксис:

    ./install mysql

    Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Data Movement. После этого выполните команду install mysql еще раз.

    В противном случае откроется лицензионное соглашение с конечным пользователем driverа.

  3. Выполните одно из следующих действий:

    • Нажмите клавишу [Enter] несколько раз, чтобы медленно прокрутить лицензионное соглашение.
    • Нажимайте клавишу «Пробел» несколько раз, чтобы быстро прокрутить лицензионное соглашение.
    • Нажмите клавишу «q», чтобы закрыть текст лицензионного соглашения и перейти к шагу принятия/отклонения.
  4. Выполните одно из следующих действий:

    • Введите «y» и нажмите клавишу [Enter], чтобы принять лицензионное соглашение и запустить установку.
    • Введите «n» и нажмите клавишу [Enter], чтобы отклонить лицензионное соглашение и отменить установку.
    • Введите «v» и нажмите клавишу [Enter], чтобы снова открыть лицензионное соглашение для просмотра.

  5. Будет установлен driver.

Выполните команду обновления, если требуется удалить предыдущие версии driverа перед установкой предоставленной версии driverа.

Чтобы загрузить и обновить driver, выполните следующие действия.

  1. На компьютере шлюза Data Movement измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

  2. Выполните следующую команду:

    Синтаксис:

    ./update mysql

    Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Data Movement. После этого выполните команду update mysql еще раз.

    В противном случае откроется лицензионное соглашение с конечным пользователем driverа.

  3. Выполните одно из следующих действий:

    • Нажмите клавишу [Enter] несколько раз, чтобы медленно прокрутить лицензионное соглашение.
    • Нажимайте клавишу «Пробел» несколько раз, чтобы быстро прокрутить лицензионное соглашение.
    • Нажмите клавишу «q», чтобы закрыть текст лицензионного соглашения и перейти к шагу принятия/отклонения.
  4. Выполните одно из следующих действий:

    • Введите «y» и нажмите клавишу [Enter], чтобы принять лицензионное соглашение и запустить установку.
    • Введите «n» и нажмите клавишу [Enter], чтобы отклонить лицензионное соглашение и отменить установку.
    • Введите «v» и нажмите клавишу [Enter], чтобы снова просмотреть лицензионное соглашение от начала.
  5. Будет удален старый driver и установлен новый driver.

Выполните команду удаления, если требуется удалить driver.

Чтобы удалить driver, выполните следующие действия.

  1. Остановите все задачи, использующие данный коннектор.

  2. На компьютере шлюза Data Movement измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

  3. Выполните следующую команду:

    Синтаксис:

    ./uninstall mysql

    driver будет удален.

Установка драйвера вручную

Установку driver вручную следует пытаться выполнить только в том случае, если автоматическая установка драйвера не завершилась успешно.

После установки Шлюз движения данных загрузите драйвер mysql-connector-odbc-<version>.x86_64.rpm. Можно найти прямую ссылку для загрузки поддерживаемой версии в разделе binary-artifacts в /opt/qlik/gateway/movement/drivers/manifests/mysql.yaml. После завершения загрузки скопируйте RPM на машину Шлюз движения данных.

На сервере Data Movement Gateway откройте приглашение оболочки и выполните действия, указанные ниже.

  1. Остановите службу Data Movement Gateway:

    sudo systemctl stop repagent

  2. Если нужно, подтвердите, что сервис остановлен:

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: inactive (dead) since <timestamp> ago

  3. Установите драйвер на машину Data Movement Gateway.
  4. Измените рабочий директорий на <Data Movement Gateway-Install-Dir>/bin.

  5. Скопируйте местоположение драйвера в файл site_arep_login.sh:

    echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib64" >> site_arep_login.sh

    Таким образом драйвер будет добавлен к LD_LIBRARY_PATH, а в файле site_arep_login.sh будет сохранено местоположение драйвера.

  6. При необходимости подтвердите, что местоположение драйвера было скопировано:

    cat site_arep_login.sh
  7. Проверьте, что в файле /etc/odbcinst.ini имеется запись для MySQL, такая, как в этом примере:

    [MySQL ODBC 8.0 Unicode Driver]

    Driver = /usr/lib64/libmyodbc8w.so

    UsageCount = 1

  8. Запустите службу Data Movement Gateway.

    sudo systemctl start repagent

  9. Если нужно, подтвердите, что сервис запущен:

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: active (running) since <timestamp> ago

Ограничения и рекомендации

При использовании MySQL в качестве целевой базы данных для репликации действуют следующие ограничения:

  • При репликации в целевую базу данных MariaDB, если значение DATETIME равно нулю, необходимо определить преобразование, которое заменяет DATETIME на допустимые значения. Например:

    replace($datetime_column,'9999-12-31 23:59:59','2000-01-01 22:00:00')

    Примечание к информацииЭто ограничение не применяется к Microsoft Azure Database for MySQL.
  • Из-за особенностей работы MySQL при загрузке данных в целевую базу данных MySQL во время задачи полной загрузки ошибки дубликатов ключей не будут регистрироваться в журналах.
  • При обновлении значения столбца на его существующее значение MySQL возвращает ноль затронутых строк (в отличие от Oracle и Microsoft SQL Server, которые выполняют обновление одной строки).

    Это создает запись в attrep_apply_exceptions Control Table и следующее предупреждение:

    Some changes from the source database had no impact when applied to the target database. See attrep_apply_exceptions table for details.

  • Если необходимо реплицировать 4-байтовые символы эмодзи, для набора символов целевой схемы должно быть задано значение utf8mb4.

  • Если исходная таблица содержит большое количество столбцов, MySQL может вернуть ошибку Row size too large (> 8126), так как 8126 байт — это максимальный размер строки по умолчанию в MySQL. При использовании источников SaaS-приложений эта ошибка возникает во время выполнения. При использовании других типов источников, таких как базы данных, ошибка возникает во время подготовки задачи. Чтобы обойти это ограничение, используйте один из следующих подходов:

    • Рекомендуемый подход: После приема данных удалите столбцы, которые не нужны в целевой базе данных. Для получения информации о том, как это сделать, см. Удаление столбцов. Если ошибка по-прежнему возникает, удалите больше столбцов.

    • Альтернативное решение: Если необходимо включить все исходные столбцы в целевую таблицу, существуют определенные конфигурации базы данных MySQL, которые позволяют это сделать. Одной из них является увеличение размера страницы MySQL, чтобы он был достаточно большим для размещения размера строки.

      Примечание к информацииДля источников с размером строки, превышающим ограничение в 65 535 байт, необходимо преобразовать исходное поле в тип данных, поддерживающий больший размер строки. Это связано с известным ограничением на максимальный размер записи строки. Для получения дополнительной информации см. документацию MySQL по ограничениям размера строки.

Типы данных

Информация о собственном типе данных сохраняется и отображается в столбце Собственный тип данных в видах набора данных. Если этот столбец не отображается, необходимо открыть инструмент «Управление столбцами» в виде набора данных и выбрать столбец Собственный тип данных.

Поддерживаемые типы данных
Типы данных Qlik Cloud Типы данных MySQL

BOOL

BOOL

BYTES

Если длина => 1 и =< 8095, то:

VARBINARY (Length)

Если длина => 8096 и =< 65535, то:

BLOB

Если длина => 65536 и =< 16777215, то:

MEDIUMBLOB

Если длина => 16777216 и =< 2147483647, то:

LONGBLOB

DATE

DATE

TIME

TIME

DATETIME

Если масштаб => 0 и =< 6, то:

DECIMAL (p,s)

Если масштаб => 7 и =< 12, то:

VARCHAR (37)

INT1

TINYINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

Если масштаб => 0 и =< 30, то:

DECIMAL (p,s)

Если масштаб => 31 и =< 100, то:

VARCHAR (45)

REAL4

FLOAT;

REAL8

DOUBLE

STRING

Если длина => 1 и =< 8095, то:

VARCHAR (Length)

Если длина => 8096 и =< 65535, то:

TEXT

Если длина => 65536 и =< 16777215, то:

MEDIUMTEXT

Если длина => 16777216 и =< 2147483647, то:

LONGTEXT

UINT1

UNSIGNED TINYINT

UINT2

UNSIGNED SMALLINT

UINT4

UNSIGNED INTEGER

UINT8

UNSIGNED BIGINT

WSTRING

Если длина => 1 и =< 8095, то:

VARCHAR (Length)

Если длина => 8096 и =< 65535, то:

TEXT

Если длина => 65536 и =< 16777215, то:

MEDIUMTEXT

Если длина => 16777216 и =< 2147483647, то:

LONGTEXT

BLOB

Когда включен параметр Разрешить неограниченный размер LOB:

  • LONGBLOB

Когда включен параметр Ограничить размер LOB до:

  • Если заданное значение меньше или равно 63 КБ, то:

    BLOB

  • Если заданное значение больше или равно 64 КБ:

    LONGBLOB

Для получения дополнительных сведений об ограничении размера LOB см. раздел Metadata.

NCLOB

Когда включен параметр Разрешить неограниченный размер LOB:

  • TEXT

Когда включен параметр Ограничить размер LOB до:

  • Если заданное значение меньше или равно 63 КБ, то:

    TEXT

  • Если заданное значение больше или равно 64 КБ:

    LONGTEXT

Для получения дополнительных сведений об ограничении размера LOB см. раздел Metadata.

CLOB

Когда включен параметр Разрешить неограниченный размер LOB:

  • TEXT CHARACTER SET UTF-16

Когда включен параметр Ограничить размер LOB до:

  • Если заданное значение меньше или равно 63 КБ, то:

    TEXT CHARACTER SET UTF-16

  • Если заданное значение больше или равно 64 КБ:

    LONGTEXT CHARACTER SET UTF-16

Для получения дополнительных сведений об ограничении размера LOB см. раздел Metadata.

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице или с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом!