MySQL

Чтобы добавить подключение к базе данных, нажмите шестерёнку в правом верхнем углу и перейдите в Управление > Базы данных > Добавить базу данных.

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

Вы можете изменить эти настройки в любое время. Просто не забудьте сохранить ваши изменения.

Отображаемое имя

Имя, которое будет отображаться в интерфейсе Glarus BI.

Хост

IP-адрес базы данных или её доменное имя (например, esc.mydatabase.com).

Порт

Порт базы данных. Например, 3306.

Имя пользователя

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

Пароль

Пароль для подключения к базе данных, соответствующий имени пользователя.

Использовать защищённое соединение (SSL)

Вы можете вставить цепочку сертификатов SSL вашего сервера.

Использовать SSH-туннель

См. наше руководство по SSH-туннелированию.

Развернуть столбцы JSON

В базах данных MySQL Glarus BI может развернуть столбцы JSON в составные поля, чтобы получить таблицу, в которой каждый ключ JSON становится столбцом. Развёртывание JSON включено по умолчанию, но вы можете отключить его, если производительность низкая.

Если вы включили развёртывание JSON, вы можете включить развёртывание отдельных столбцов в метаданных таблицы.

Дополнительные параметры строки подключения JDBC

Вы можете добавить параметры к строке подключения, которую Glarus BI использует для подключения к вашей базе данных.

Запускать запросы для простых исследований

Выключите эту опцию, если пользователи хотят нажать Run (кнопка воспроизведения) перед применением любых группировок или выбором фильтров.

По умолчанию Glarus BI будет выполнять запрос сразу после выбора варианта группировки из меню Группировать или условия фильтра из [меню](https://www.Glarus BI.com/learn/questions/drill-through). Если ваша база данных медленная, вы можете отключить повторное выполнение, чтобы избежать загрузки данных при каждом нажатии.

Выберите, когда будет выполняться синхронизация и сканирование

Включите эту опцию, чтобы управлять запросами, которые Glarus BI использует для поддержания актуальности вашей базы данных. Для получения дополнительной информации см. Синхронизация и сканирование баз данных.

Синхронизация базы данных

Если вы выбрали Выберите, когда будет выполняться синхронизация и сканирование > ВКЛ, вы сможете установить:

  • частоту сканирования: раз в час (по умолчанию) или раз в день;

  • время запуска синхронизации в часовом поясе сервера, где работает ваше приложение Glarus BI.

Сканирование значений фильтра

Glarus BI может сканировать значения, присутствующие в каждом поле в этой базе данных, чтобы включить checkbox-фильтры в панелях инструментов и вопросах. Это может быть довольно ресурсоёмким процессом, особенно если у вас очень большая база данных.

Если вы выбрали Выберите, когда происходят синхронизация и сканирование > ВКЛ, вы увидите следующие параметры в разделе Сканирование значений фильтра:

  • Регулярно, по расписанию позволяет запускать запросы сканирования с частотой, соответствующей скорости изменения вашей базы данных. Время устанавливается в часовом поясе сервера, где работает ваше приложение Glarus BI. Это лучший вариант для небольшой базы данных или таблиц с отдельными значениями, которые часто обновляются.

  • Только при добавлении виджета-фильтра — отличный вариант, если вы хотите, чтобы запросы сканирования запускались по требованию. Включение этой опции означает, что Glarus BI будет сканировать и кэшировать значения поля (полей), используемые при добавлении нового фильтра на панель инструментов или вопрос SQL.

  • Никогда, я сделаю это вручную, если мне это понадобится — это вариант для баз данных, которые либо чрезвычайно велики, либо в которых никогда не добавляются новые значения. Используйте кнопку Повторно сканировать значения поля сейчас, чтобы запустить ручное сканирование и обновить значения фильтра.

Подключение к серверам MySQL 8+

Glarus BI использует коннектор MariaDB для подключения к серверам MariaDB и MySQL. Коннектор MariaDB в настоящее время не поддерживает подключаемый модуль аутентификации MySQL 8 по умолчанию, поэтому для подключения вам необходимо изменить подключаемый модуль на mysql_native_password: ALTER USER 'Glarus BI'@'%' IDENTIFIED WITH mysql_native_password BY 'thepassword';

Невозможно войти с правильными учётными данными

Как это обнаружить: Glarus BI не удаётся подключиться к вашему серверу MySQL с сообщением об ошибке «Похоже, имя пользователя или пароль неверны», но вы уверены, что имя пользователя и пароль верны. Возможно, вы создали пользователя MySQL с разрешённым хостом, отличным от хоста, с которого вы подключаетесь.

Например, если сервер MySQL работает в контейнере Docker, а ваш пользователь Glarus BI был создан с помощью CREATE USER 'Glarus BI'@'localhost' IDENTIFIED BY 'thepassword';, localhost будет преобразован в контейнер Docker, а не хост-компьютер, что приведёт к отказу в доступе.

Вы можете определить эту проблему, просмотрев в журналах сервера Glarus BI сообщение об ошибке Access denied for user 'Glarus BI'@'172.17.0.1' (using password: YES). Обратите внимание на хост 172.17.0.1 (в данном случае IP-адрес сети Docker) и using password: YES в конце.

Вы увидите такое же сообщение об ошибке при попытке подключения к серверу MySQL с помощью клиента командной строки: mysql -h 127.0.0.1 -u Glarus BI -p.

Как это исправить: Воссоздайте пользователя MySQL с правильным хостом: CREATE USER 'Glarus BI'@'172.17.0.1' IDENTIFIED BY 'thepassword';. В противном случае, если необходимо, для хоста можно использовать подстановочный знак: CREATE USER 'Glarus BI'@'%' IDENTIFIED BY 'thepassword';

Разрешения этого пользователя должны быть установлены:

GRANT SELECT ON targetdb.* TO 'Glarus BI'@'172.17.0.1';
FLUSH PRIVILEGES;

Не забудьте удалить старого пользователя: DROP USER 'Glarus BI'@'localhost';.

Синхронизация записей, включающих JSON

Glarus BI определит схему JSON, основываясь на ключах в первых пятистах строках таблицы. Поля JSON MySQL не имеют схемы, поэтому Glarus BI не может полагаться на метаданные таблицы для определения ключей, которые имеет поле JSON. Чтобы обойти отсутствие схемы, Glarus BI получит первые пятьсот записей и проанализирует JSON в этих записях, чтобы определить схему JSON. Причина, по которой Glarus BI ограничивает себя пятьюстами записями, заключается в том, что синхронизация метаданных не должна накладывать ненужную нагрузку на вашу базу данных.

Проблема заключается в том, что если ключи в JSON варьируются от записи к записи, то первые пятьсот строк могут не захватить все ключи, используемые объектами JSON в этом поле JSON. Чтобы Glarus BI мог выводить все ключи JSON, вам нужно будет добавить дополнительные ключи в объекты JSON в первых пятистах строках.

Эта схема JSON-определения не работает с MariaDB из-за различий в реализации между MySQL и MariaDB.

Запуск контейнера MySQL Docker для MySQL 8+

Если вы запускаете новый контейнер MySQL и:

  • вы хотите, чтобы Glarus BI подключалась к контейнеру без необходимости вручную создавать пользователя или изменять механизм аутентификации,

  • или вы столкнулись с ошибкой RSA public key is not available client side (option serverRsaPublicKeyFile not set),

Используйте модификаторы ['--default-authentication-plugin=mysql_native_password'] при запуске контейнера, например:

  • простой запуск докера: docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxxxxx mysql:8.xx.xx --default-authentication-plugin=mysql_native_password

  • или в docker-compose:

mysql:
    image: mysql:8.xx.xx
    container_name: mysql
    hostname: mysql
    ports:
      - 3306:3306
    environment:
      - "MYSQL_ROOT_PASSWORD=xxxxxx"
      - "MYSQL_USER=Glarus BI"
      - "MYSQL_PASSWORD=xxxxxx"
      - "MYSQL_DATABASE=Glarus BI"
    volumes:
      - $PWD/mysql:/var/lib/mysql
    command: ['--default-authentication-plugin=mysql_native_password']

Дополнительная информация