Ad Widget

Collapse

ZAbbix 3.4.8 таблица graphs_items

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Andre747
    Junior Member
    • May 2015
    • 8

    #1

    ZAbbix 3.4.8 таблица graphs_items

    Удалил данные в таблице "graphs_items"

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

    Спасибо !
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3406

    #2
    1) берёте исходники для Вашей версии Zabbix;
    2) там в папке "database/<СУБД>/" будет файл "data.sql";
    3) копируете его в другое место, в копии вырезаете всё, кроме секции, относящейся к нужной Вам таблице;
    4) действуете в соответствии с инструкцией для Вашего типа базы данных, чтобы загнать данные в базу (фактически, нужна только одна команда - импорт данных из файла "data.sql", остальное у Вас уже есть, поэтому ни создавать саму базу, ни трогать файлы "schema.sql" и "images.sql" Вам не надо).

    Comment

    • Andre747
      Junior Member
      • May 2015
      • 8

      #3
      Спасибо, что откликнулись !

      Смотрите какая ситуация. В файле data.sql нашел искомые мне данные со стоки 4834 по 5366, но они не вставляются. Пишет Ошибку "Ошибка SQL (1452): Cannot add or update a child row: a foreign key constraint fails (`zabbix`.`graphs_items`, CONSTRAINT `c_graphs_items_2` FOREIGN KEY (`itemid`) REFERENCES `items` (`itemid`) ON DELETE CASCADE)".

      Пошел дальше. Скопировал таблицу на всякий случай в graphs_items_copy. Далее удалил таблицу graphs_items. Нашел в schema.sql где она создается строки с 676 по 689 и две строки 1770 и 1771. Так вот если сначала выполнить создание из schema.sql, то данные из data.sql также не вставляются смотри ошибку выше. Если выполнить создание из schema.sql без строк 1770 и 1771, то данные из data.sql вставляются, но после не хотят вставляться строки 1770 и 1771. Не как не могу понять с какой последовательности нужно сделать. Пойду пока читать доки по скл. Если кто знает решение, буду признателен.

      Comment

      • Andre747
        Junior Member
        • May 2015
        • 8

        #4
        на всякий случай строки из schema.sql
        с 676 по 689
        CREATE TABLE `graphs_items` (
        `gitemid` bigint unsigned NOT NULL,
        `graphid` bigint unsigned NOT NULL,
        `itemid` bigint unsigned NOT NULL,
        `drawtype` integer DEFAULT '0' NOT NULL,
        `sortorder` integer DEFAULT '0' NOT NULL,
        `color` varchar(6) DEFAULT '009600' NOT NULL,
        `yaxisside` integer DEFAULT '0' NOT NULL,
        `calc_fnc` integer DEFAULT '2' NOT NULL,
        `type` integer DEFAULT '0' NOT NULL,
        PRIMARY KEY (gitemid)
        ) ENGINE=InnoDB;
        CREATE INDEX `graphs_items_1` ON `graphs_items` (`itemid`);
        CREATE INDEX `graphs_items_2` ON `graphs_items` (`graphid`);

        1770 и 1771
        ALTER TABLE `graphs_items` ADD CONSTRAINT `c_graphs_items_1` FOREIGN KEY (`graphid`) REFERENCES `graphs` (`graphid`) ON DELETE CASCADE;
        ALTER TABLE `graphs_items` ADD CONSTRAINT `c_graphs_items_2` FOREIGN KEY (`itemid`) REFERENCES `items` (`itemid`) ON DELETE CASCADE;



        Comment

        • Andre747
          Junior Member
          • May 2015
          • 8

          #5
          Сейчас методом тыка выяснил, что если выполнить из schema.sql с 676 по 689, потом из data.sql с 4834 по 5366 то все ок, потом опять из schema.sql 1770 и 1771 происходит ошибка.

          ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`zabbix`.`#sql-3221_3d78a`, CONSTRAINT `c_graphs_items_2` FOREIGN KEY (`itemid`) REFERENCES `items` (`itemid`) ON DELETE CASCADE)

          откуда береться #sql-3221_3d78a ?????
          Last edited by Andre747; 13-04-2018, 14:46.

          Comment

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

            #6
            Originally posted by Andre747
            Смотрите какая ситуация. В файле data.sql нашел искомые мне данные со стоки 4834 по 5366, но они не вставляются. Пишет Ошибку "Ошибка SQL (1452): Cannot add or update a child row: a foreign key constraint fails (`zabbix`.`graphs_items`, CONSTRAINT `c_graphs_items_2` FOREIGN KEY (`itemid`) REFERENCES `items` (`itemid`) ON DELETE CASCADE)".
            Я, к сожалению, не самый большой спец по базам данных. Но, насколько я понимаю, в строчке 1771 задаётся constraint, оговаривающий, что в каждой записи этой таблицы поле "itemid" должно совпадать с какой-то строкой в таблице "items", в которой должна быть строка таким же содержимым в поле "itemid".

            Видимо, у Вас удалились данные не только из таблицы "graphs_items", но также и соответствующие им из таблицы "items", которые дожны быть добавлены до того, как будут добавляться строки в "graphs_items". Наверное, их тоже можно "вырезать" из того же файла "data.sql", но для таблицы "items" есть свои constraint-ы и есть шанс, что можно нарваться уже на них. Возможно, проще было бы восстановить всю базу из бэкапа? Если это какая-то тестовая среда, то явно проще было бы эту базу целиком пересоздать.

            Comment

            • Andre747
              Junior Member
              • May 2015
              • 8

              #7
              А. бэкапа нет

              Б. Скажите имеет ли мой план по восстановлению, здравый смысл.

              1. Экспорт шаблонов (которые добавлял сам), экспорт узлов
              2. Остановка заббикс сервер.
              3. Переменовать БД в zabbix123
              4. Создаем новую БД zabbix
              5. zabbix < schema.sql, zabbix < images.sql и zabbix < data.sql
              6. Старт заббикс сервера
              7. Импорт шаблонов.
              8. Импорт узлов.
              9. Остановка заббикс сервер.
              10. Перенос из zabbix123 в zabbix данных таблиц history, history_text, history_uint, trends и trends_uint. (Все ли я таблицы указал?)
              11. Старт заббикс сервера

              Comment

              • Andre747
                Junior Member
                • May 2015
                • 8

                #8
                пункт 10 выполнить не получиться я так понимаю, т.к. hostid у узлов будут отличаться.

                Comment

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

                  #9
                  Мне кажется, что именно так (включая затруднения с п.10), но, повторюсь, я в данной области не шибко большой специалист.

                  Comment

                  Working...