Skip to content

Настройка внешней базы данных MySQL5 - Справка FineReport | Разработка отчетов | Отчеты | Учебные пособия

Настройка внешней базы данных MySQL5

1. Обзор

1.1 Версия

Версия сервера FineBIФункциональные изменения
6.0-

1.2 Функциональный профиль

После настройки BI-системы на внешнюю базу данных можно обеспечить стабильность системы при работе с кластерной средой или большим объемом данных.

Пользователи могут настроить внешнюю базу данных в разделе "Инициализация" или настроить внешнюю базу данных MySQL версии 5 в разделе "Платформа".

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

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

2. конфигурация базы данных

2.1 Версия базы данных

Типы и версии, поддерживаемые внешней базой данных, приведены в следующей таблице:

Тип базы данныхПоддерживаемые версии баз данных
MySQL55.1.735.5.31, 5.5.46, 5.5.565.6.22, 5.6.315.7.16
RDS MySQLбезгранично

2.2 Конфигурация оборудования

Тип конфигурацииминимальная конфигурацияРекомендуемые конфигурации
память с произвольным доступом (RAM)1 ГБ2 ГБ
CPU4-ядерный8-ядерный
скорость сети50 Мбит/с100 Мбит/с
место, занимаемое finedb1 ГБ2 ГБ
Дисковое пространство сервера100 ГБ200 ГБ
Скорость чтения/записи дисков50 МБ/с100 МБ/с

Примечание 1: Занимаемое пространство должно регулироваться в зависимости от степени использования, может быть настроено в соответствии с размером папки webapps/webroot/WEB-INF/embed/finedb, а в соответствии с фактическим размером будущего использования размер прогноза, увеличенный в 1 - 2 раза.

Примечание 2: Рекомендуемая память - это память, зарезервированная для библиотеки конфигурации проекта.

Примечание 3: Внешняя база данных должна находиться в том же сегменте сети, что и BI-проект, насколько это возможно, чтобы избежать сетевых колебаний и других проблем.

2.3 Новая база данных

Создайте новую базу данных для хранения данных, связанных с платформой.

Стандартный оператор библиотеки: CREATE DATABASE `finedb` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

Примечание 1: Разные проекты FineBI не могут использовать одну и ту же внешнюю базу данных, иначе данные могут быть испорчены.

Примечание 2: Рекомендуется установить правило сортировки набора символов базы данных на utf8_bin ( чувствительный к регистру ), чтобы предотвратить исключения привилегий, не зависящих от регистра, подробнее см. в разделе 4.2.

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

image.png

Имя базы данных:

Допускаются только цифры, буквы, знаки подчеркивания и ".".

Набор символов:

1) Когда платформа подключена к базе данных MySQL, необходимо установить правила сортировки по набору символов (с учетом регистра).

2) Рекомендуемая кодировка Юникода utf8 C UTF-8

3) Не поддерживается кодировка utf8mb4

Правила сортировки:

В MySQL существует несколько форматов правил сортировки в кодировке utf8, два наиболее распространенных из которых приведены в следующей таблице:

1) utf8_bin (рекомендуется)

Определение: хранить каждый символ в строке как двоичные данные, с учетом регистра.

Пример: Alex и alex считаются двумя разными значениями.

1) utf8_general_ci

Определение: ci означает case insensitive, то есть нечувствительный к регистру, и является кодировкой по умолчанию для utf8.

Пример: Alex и alex считаются одним и тем же значением.

3. Конфигурация внешних баз данных

3.1 Внешний портал конфигурации базы данных

Существует три формы конфигурационных записей для внешних баз данных:

1) Когда администратор впервые входит в систему Data Decision System, он может настроить внешнюю базу данных для системы. Это показано на рисунке ниже:

1611298441623069.png

(2) Для систем, использующих встроенную базу данных, администратор может впервые настроить внешнюю базу данных для системы, войдя в Data Decision System и нажав "Management System > System Management > General > External Database > To be Configured". Как показано на рисунке ниже:

(3) Для систем с включенной внешней базой данных администраторы могут перевести систему на новую внешнюю базу данных, войдя в систему Data Decision System и нажав на "Management System > System Management > General > External Database > Configured". Как показано на рисунке ниже:

3.2 Настройка внешней базы данных

После входа в интерфейс конфигурации внешней базы данных выберите тип базы данных и введите соответствующую информацию о реальной базе данных. Как показано на рисунке ниже:

3.2.1 Настройки

Описание каждого элемента настройки приведено в таблице ниже:

элемент настройкиинструкции
Тип базы данныхВыберите MySQL
привод (колесо транспортного средства)FineBI имеет встроенный драйвер для MySQL5, его не нужно модифицировать, он будет настроен автоматически.
Имя базы данныхРаздел 2.3 Имя вновь созданной базы данныхСовместное использование базы данных с другими проектами запрещено, рекомендуется создание новой базы данныхИмена баз данных могут содержать только цифры, буквы, символы подчеркивания и ".".
Имя пользователя/хост/пароль/портЗаполните в соответствии с реальной ситуацией с локальной базой данныхИмя хоста может содержать только цифры, буквы, символы подчеркивания, "-" и ".".Пользователи должны иметь права на создание, удаление, изменение, обновление, выбор, вставку , индексирование.

3.2.2 Перенос данных в базу данных, которую необходимо включить

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

1) Установите флажок "Перенести данные в базу данных, которая будет включена", новая внешняя база данных пуста.

При нажатии на кнопку "Включить новую базу данных" данные платформы будут перенесены из исходной базы данных finedb в новую внешнюю базу данных.

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

После нажатия кнопки "Включить новую базу данных" появится запрос: "Данные платформы уже существуют в этой базе данных, исходные данные платформы будут очищены перед импортом данных, подтвердите подключение к этой базе данных?". Подтвердить подключение к базе данных?

Нажав "OK", вы очистите исходные данные платформы и перенесете данные платформы из исходной базы данных finedb в новую внешнюю базу данных.

(3) Если флажок "Мигрировать данные в базу данных, которую нужно включить" не установлен , новая внешняя база данных будет пустой.

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

Нажмите OK, чтобы перенести данные платформы из исходной базы данных finedb в новую внешнюю базу данных.

(4) Если флажок "Перенести данные в базу данных для включения" не установлен, данные платформы уже существуют в новой внешней базе данных.

После нажатия кнопки "Включить новую базу данных" BI-проект автоматически определит, совпадает ли версия пакета JAR, соответствующего данным в целевой базе данных, с версией пакета JAR текущего проекта.

  • Если он не соответствует, появится сообщение: "Невозможно включить! Версия проекта, необходимая для включения новой базы данных: XXX. Текущая версия проекта: XXX. Пожалуйста, убедитесь, что версия проекта одинакова! Пожалуйста, убедитесь, что версия проекта одинаковая! Конфигурация внешней базы данных не может быть выполнена.

  • Если версия пакета JAR одинакова и исходная база данных finedb является встроенной базой данных, новая внешняя база данных включается напрямую.
  • Если версия пакета JAR одинакова, а исходная база данных finedb является внешней базой данных, то информация о конфигурации исходной базы данных будет автоматически сохранена перед миграцией, а файл db.properties.bak будет создан в каталоге webapps\webroot\WEB-INF\config, и новая внешняя база данных будет включена напрямую. Как показано на рисунке ниже:

3.3 Успешная миграция

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

1) Новая внешняя база данных, использующая данные из исходной базы данных finedb.

Появится запрос "Целевая база данных успешно включена". Нажмите "OK", и миграция пройдет успешно. Как показано на рисунке ниже:

2) Новая внешняя база данных, которая использует исходные данные в этой базе, а исходная база данных finedb является встроенной базой данных.

Появится сообщение: "База данных успешно переключена на целевую базу данных! Если между старой и новой базами данных имеются различия в данных, которые могут повлиять на работу системы, рекомендуется перезапустить проект для обеспечения нормальной работы".

После нажатия кнопки "OK" перезапустите проект отчета, миграция партий пройдет успешно. Как показано на рисунке ниже:

3) Новая внешняя база данных, которая использует исходные данные в этой базе, а исходная база данных finedb является внешней.

Затем появляются две подсказки:

  • База данных успешно переключена на целевую базу данных! Если между старой и новой базами данных имеются различия в данных, которые могут повлиять на работу системы, рекомендуется перезапустить проект для обеспечения нормальной работы!
  • Оригинальная конфигурация базы данных была сохранена в папке config, и при необходимости вы можете использовать файл резервной копии для восстановления конфигурации базы данных.

После нажатия кнопки "OK" перезапустите проект отчета, миграция партий пройдет успешно. Как показано на рисунке ниже:

1611286418590120.png

3.4 Удаление соединений данных встроенной библиотеки

Встроенная база данных FineDB" - это база данных HSQL, которая создает базу данных в памяти и занимает много памяти при большом объеме данных.

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

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

4. условия

4.1 Модификация правил сортировки

Если правила сортировки базы данных изначально не были установлены на utf8_bin, но были перенесены, то три таблицы fine_conf_entity, fine_conf_classname, fine_authority должны быть изменены на utf8_bin. _conf_entity в качестве примера:

1) Запрос текущих правил сортировки набора символов

показать полные колонки из fine_conf_entity

2) Установите правила сортировки наборов символов на utf8_bin

  • Установка правил контрольной суммы по умолчанию для столбцов
ALTER TABLE fine_conf_entity MODIFY id VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin.
  • Настройка правил контрольной суммы таблицы
ALTER TABLE fine_conf_entity DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

3) Проверьте успешность модификации

показать полные колонки из fine_conf_entity

4) Замените fine_conf_classname, fine_authority на utf8_bin, выполнив те же действия, что и 1) 2) 3) выше, с настройками, показанными ниже:

222

4.2 Исключение полномочий на подключение данных

Описание проблемы:

После того как система FineBI настроена на работу с внешней базой данных, ее члены получают административные права для набора данных SQL и соответствующего соединения с данными (имя в нижнем регистре, например, test).

Однако, когда участник входит в систему для просмотра набора данных SQL, кнопка "Изменить набор данных SQL" не появляется, т. е. настройка административных привилегий для подключения к данным не действует, как показано на следующем рисунке:

Анализ причин:

Конфигурация административных привилегий для соединения с данными хранится в таблице fine_authority, которая имеет правило сортировки без учета регистра в кодировкеutf8, которое записывает имя соединения с данными test как TEST.

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

Решение:

Обратитесь к разделу 4.1 этого документа, чтобы установить правила упорядочивания набора символов для fine_conf_entity, fine_conf_classname и fine_authority в utf8_bin, чтобы сделать их чувствительными к регистру, после чего конфигурация привилегий управления соединением данных сможет нормально действовать.