Bug 44523 - Отсутствует history_pk_prepare.sql
Summary: Отсутствует history_pk_prepare.sql
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: zabbix-common-database-mysql (show other bugs)
Version: unstable
Hardware: x86 Linux
: P5 normal
Assignee: Alexei Takaseev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-02 16:06 MSK by Гусев В.Ю.
Modified: 2022-12-29 13:00 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Гусев В.Ю. 2022-12-02 16:06:16 MSK
Zabbix сообщает "Database history tables use primary key - No".
В документации (https://www.zabbix.com/documentation/current/en/manual/appendix/install/db_primary_keys) написано, что нужно создать первичные ключи в таблице history, для чего, в том числе, необходимо выполнить файл history_pk_prepare.sql
Не смог найти данный файл - ни в /usr/share/doc/zabbix-common-database-mysql-6.0.10, ни где-либо ещё.
Comment 1 Evgeny Shesteperov 2022-12-26 12:27:09 MSK
Описание
========

Посмотрел по исходникам Zabbix (https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.12.tar.gz), действительно, должен быть:

        zabbix-6.0.12/database/mysql/
        ├── data.sql
        ├── double.sql
        ├── history_pk_prepare.sql
        ├── images.sql
        ├── Makefile.am
        ├── Makefile.in
        └── schema.sql

Однако файл history_pk_prepare.sql в пакете zabbix-common-database-mysql отсутствует.

Версия
======

- zabbix-common-database-mysql-6.0.12-alt1

Дистрибутивы
============

- p10-server-10-x86-64, обновленный до Sisyphus

Шаги воспроизведения
====================

1. Установить пакет zabbix-common-database-mysql:

        # apt-get install -y zabbix-common-database-mysql 

2. Проверить наличие файла history_pk_prepare.sql в пакете:

        # rpm -ql zabbix-common-database-mysql | grep history_pk_prepare.sql

Ожидаемый результат: наличие файла history_pk_prepare.sql

Фактический результат: отсутствие файла history_pk_prepare.sql

Воспроизводится и в P10, и в Sisyphus.
Comment 2 Alexei Takaseev 2022-12-27 06:08:15 MSK
Содержимое history_pk_prepare.sql на этапе компиляции помещается в файл schema.sql
Comment 3 Гусев В.Ю. 2022-12-27 11:22:27 MSK
(Ответ для Alexei Takaseev на комментарий #2)
> Содержимое history_pk_prepare.sql на этапе компиляции помещается в файл
> schema.sql

schema.sql используется при создании БД с нуля.
Включение history_pk_prepare.sql в него не позволяет нормально перейти на zabbix 6.*, когда нужно обработать только таблицы history*
Для обновления до zabbix 6 придётся самостоятельно найти history_pk_prepare.sql и выполнить согласно документации об обновлению (https://www.zabbix.com/documentation/current/en/manual/appendix/install/db_primary_keys)
Comment 4 Alexei Takaseev 2022-12-27 11:31:39 MSK
При обновлении 5.x -> 6.0 процесс zabbix_DBNAME сам автоматически обрабатывает изменения в схеме БД и вносит необходимые правки, генерацию PKEY в том числе.
Comment 5 Гусев В.Ю. 2022-12-27 14:14:58 MSK
(Ответ для Alexei Takaseev на комментарий #4)
> При обновлении 5.x -> 6.0 процесс zabbix_DBNAME сам автоматически
> обрабатывает изменения в схеме БД и вносит необходимые правки, генерацию
> PKEY в том числе.

Видимо, у меня не отработало. Т.к. пришлось всё делать руками.

Там значительно сложнее, чем поправить схему таблиц. history_pk_prepare.sql переименовывает имеющиеся таблицы и создаёт новые. Потом нужно перенести данные из переименованных таблиц и удалить их. Процесс весьма небыстрый на большой базе.
Comment 6 Repository Robot 2022-12-29 13:00:35 MSK
zabbix-1:6.0.12-alt2 -> sisyphus:

 Wed Dec 28 2022 Alexei Takaseev <taf@altlinux> 1:6.0.12-alt2
 - Add notice fo use MySQL 8.0.x
 - Pack history_pk_prepare.sql (ALT #44523)
 - Fix build with curl 7.87.0