Ad Widget

Collapse

Не обновляется БД после обновления до версии 3.4

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • TRIUM
    Junior Member
    • May 2018
    • 1

    #1

    Не обновляется БД после обновления до версии 3.4

    Добрый день!

    Имеется сервер на Freebsd, версия zabbix 3.2.7, решили перенести все на виртуалку, в итоге был установлен сервер с Centos 7, версия zabbix 3.2.11 и 10.0.35-MariaDB, базы перенеслись без ошибок, все работает, но после обновления zabbix до версии 3.4.9 в логах имеется ошибка обновления БД:

    18676:20180525:173145.414 Starting Zabbix Server. Zabbix 3.4.9 (revision 80550).
    18676:20180525:173145.415 ****** Enabled features ******
    18676:20180525:173145.415 SNMP monitoring: YES
    18676:20180525:173145.415 IPMI monitoring: YES
    18676:20180525:173145.415 Web monitoring: YES
    18676:20180525:173145.415 VMware monitoring: YES
    18676:20180525:173145.415 SMTP authentication: YES
    18676:20180525:173145.415 Jabber notifications: YES
    18676:20180525:173145.415 Ez Texting notifications: YES
    18676:20180525:173145.415 ODBC: YES
    18676:20180525:173145.415 SSH2 support: YES
    18676:20180525:173145.415 IPv6 support: YES
    18676:20180525:173145.415 TLS support: YES
    18676:20180525:173145.415 ******************************
    18676:20180525:173145.415 using configuration file: /etc/zabbix/zabbix_server.conf
    18676:20180525:173145.420 current database version (mandatory/optional): 03020000/03020001
    18676:20180525:173145.420 required mandatory version: 03040000
    18676:20180525:173145.420 optional patches were found
    18676:20180525:173145.420 starting automatic database upgrade
    18676:20180525:173145.555 completed 0% of database upgrade
    18676:20180525:173148.219 completed 1% of database upgrade
    18676:20180525:173148.531 completed 2% of database upgrade
    18676:20180525:173148.768 completed 3% of database upgrade
    18676:20180525:173148.924 completed 4% of database upgrade
    18676:20180525:173149.070 completed 5% of database upgrade
    18676:20180525:173149.216 completed 6% of database upgrade
    18676:20180525:173149.304 completed 7% of database upgrade
    18676:20180525:173149.325 completed 8% of database upgrade
    18676:20180525:173152.374 completed 9% of database upgrade
    18676:20180525:173156.726 completed 10% of database upgrade
    18676:20180525:173158.272 completed 11% of database upgrade
    18676:20180525:173158.350 completed 12% of database upgrade
    18676:20180525:173158.833 completed 13% of database upgrade
    18676:20180525:173158.834 [Z3005] query failed: [1506] Foreign key clause is not yet supported in conjunction with partitioning [alter table alerts add constraint c_alerts_5 foreign key (p_eventid) references events (eventid) on delete cascade]
    18676:20180525:173158.834 database upgrade failed

    Подскажите, как то можно решить проблему с обновлением?
  • eldar2116
    Junior Member
    • Jun 2018
    • 16

    #2
    У меня так было. Где-то не хватает Foreign key. Я добавлял вручную. У меня было уж в 3 таблицах, я грешил на предыдущего админа. Проверьте таблицу alerts.

    Comment

    • Classik
      Junior Member
      • Jul 2018
      • 11

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

      Comment

      • eldar2116
        Junior Member
        • Jun 2018
        • 16

        #4
        Originally posted by Classik
        eldar2116, а можете на примере показать как Вы это делали? Для тех кто в базах данных не сильно понимает, но потребность в обновлении испытывает. Столкнулся с такой же ошибкой, плохо понимаю что нужно делать
        Если ошибка именно с таблицей events > eventid, Можно через pg_admin, можно через psql в БД заббикса выполнить: ALTER TABLE events ADD PRIMARY KEY (eventid); Конечно же бекапы и все дела. Все на свой страх и риск.

        Comment

        • Kos
          Senior Member
          Zabbix Certified SpecialistZabbix Certified Professional
          • Aug 2015
          • 3404

          #5
          Originally posted by eldar2116
          Если ошибка именно с таблицей events > eventid, Можно через pg_admin, можно через psql в БД заббикса выполнить: ALTER TABLE events ADD PRIMARY KEY (eventid); Конечно же бекапы и все дела. Все на свой страх и риск.
          Если я правильно понимаю, то pg_admin и psql - это инструменты доступа к PostgreSQL. А у автора темы, как он писал в начальном сообщении, MariaDB.

          Comment

          • eldar2116
            Junior Member
            • Jun 2018
            • 16

            #6
            Originally posted by Kos
            Если я правильно понимаю, то pg_admin и psql - это инструменты доступа к PostgreSQL. А у автора темы, как он писал в начальном сообщении, MariaDB.
            Да хоть через phpmyadmin, синтаксис тот же

            Comment

            • Classik
              Junior Member
              • Jul 2018
              • 11

              #7
              Originally posted by eldar2116
              Если ошибка именно с таблицей events > eventid, Можно через pg_admin, можно через psql в БД заббикса выполнить: ALTER TABLE events ADD PRIMARY KEY (eventid); Конечно же бекапы и все дела. Все на свой страх и риск.
              А как быть если при этом `eventid` уже существует в таблице events?

              mysql> show create table events\G
              *************************** 1. row ***************************
              Table: events
              Create Table: CREATE TABLE `events` (
              `eventid` bigint(20) unsigned NOT NULL,
              `source` int(11) NOT NULL DEFAULT '0',
              `object` int(11) NOT NULL DEFAULT '0',
              `objectid` bigint(20) unsigned NOT NULL DEFAULT '0',
              `clock` int(11) NOT NULL DEFAULT '0',
              `value` int(11) NOT NULL DEFAULT '0',
              `acknowledged` int(11) NOT NULL DEFAULT '0',
              `ns` int(11) NOT NULL DEFAULT '0',
              PRIMARY KEY (`eventid`),
              KEY `events_1` (`source`,`object`,`objectid`,`clock`),
              KEY `events_2` (`source`,`object`,`clock`)
              ) ENGINE=InnoDB DEFAULT CHARSET=utf8
              1 row in set (0.00 sec)

              А ошибка повторяется точь в точь

              Foreign key clause is not yet supported in conjunction with partitioning [alter table alerts add constraint c_alerts_5 foreign key (p_eventid) references events (eventid) on delete cascade]

              База с партиционированием таблиц, может быть в этом дело?

              Comment


              • Voldemarbl4
                Voldemarbl4 commented
                Editing a comment
                Как удалось решить проблему?
            • eldar2116
              Junior Member
              • Jun 2018
              • 16

              #8
              Originally posted by Classik
              А ошибка повторяется точь в точь

              Foreign key clause is not yet supported in conjunction with partitioning [alter table alerts add constraint c_alerts_5 foreign key (p_eventid) references events (eventid) on delete cascade]

              База с партиционированием таблиц, может быть в этом дело?
              https://dev.mysql.com/doc/refman/8.0...mitations.html
              Foreign keys not supported for partitioned InnoDB tables. Partitioned tables using the InnoDB storage engine do not support foreign keys. More specifically, this means that the following two statements are true:

              Comment

              Working...