powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Восстановление базы InnoDB или произошло что то не понятное.
12 сообщений из 12, страница 1 из 1
Восстановление базы InnoDB или произошло что то не понятное.
    #39191033
Доброго времени суток.
У меня случилась беда. После аварийной ситуации на станционном оборудовании, выключился mysql сервер, на нем была создана база для Zabbix. База - InnoDB, с параметром - innodb_file_per_table = 1.

После включения машины, zabbix не поднялся, сообщая что базы данных нет. Через phpmyadmin базу видно, но при заходе внутрь таблиц нет. При этом на главной странице он видит что у него "zabbix (119)" таблицы есть.

В каталоге var/lib/mysql/ существуют файлы ibdata1, ib_logfile1 и ib_logfile0. В самой папке zabbix, есть все файлы .frm и .ibd.

авторMariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| zabbix |
+--------------------+
2 rows in set (0.01 sec)

MariaDB [(none)]>

авторMariaDB [(none)]> use zabbix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [zabbix]> show tables;
+----------------------------+
| Tables_in_zabbix |
+----------------------------+
| acknowledges |
| actions |
| alerts |
| application_discovery |
| application_prototype |
| application_template |
| applications |
| auditlog |
| auditlog_details |
| autoreg_host |
| conditions |
| config |
| dbversion |
| dchecks |
| dhosts |
| drules |
| dservices |
| escalations |
| events |
| expressions |
| functions |
| globalmacro |
| globalvars |
| graph_discovery |
| graph_theme |
| graphs |
| graphs_items |
| group_discovery |
| group_prototype |
| groups |
| history |
| history_log |
| history_str |
| history_text |
| history_uint |
| host_discovery |
| host_inventory |
| host_inventory111 |
| host_inventory_new |
| host_inventory_test |
| hostmacro |
| hosts |
| hosts123456 |
| hosts_groups |
| hosts_templates |
| housekeeper |
| httpstep |
| httpstepitem |
| httptest |
| httptestitem |
| icon_map |
| icon_mapping |
| ids |
| images |
| interface |
| interface_discovery |
| item_application_prototype |
| item_condition |
| item_discovery |
| items |
| items_applications |
| maintenances |
| maintenances_groups |
| maintenances_hosts |
| maintenances_windows |
| mappings |
| media |
| media_type |
| opcommand |
| opcommand_grp |
| opcommand_hst |
| opconditions |
| operations |
| opgroup |
| opinventory |
| opmessage |
| opmessage_grp |
| opmessage_usr |
| optemplate |
| profiles |
| proxy_autoreg_host |
| proxy_dhistory |
| proxy_history |
| regexps |
| rights |
| screen_user |
| screen_usrgrp |
| screens |
| screens_items |
| scripts |
| service_alarms |
| services |
| services_links |
| services_times |
| sessions |
| slides |
| slideshow_user |
| slideshow_usrgrp |
| slideshows |
| switches |
| sysmap_element_url |
| sysmap_url |
| sysmap_user |
| sysmap_usrgrp |
| sysmaps |
| sysmaps_elements |
| sysmaps_link_triggers |
| sysmaps_links |
| t |
| timeperiods |
| trends |
| trends_uint |
| trigger_depends |
| trigger_discovery |
| triggers |
| users |
| users_groups |
| usrgrp |
| valuemaps |
+----------------------------+
119 rows in set (0.00 sec)

MariaDB [zabbix]>



авторMariaDB [zabbix]> show columns from users;
ERROR 1146 (42S02): Table 'zabbix.users' doesn't exist
MariaDB [zabbix]>




Пробовал запускаться с параметром innodb_force_recovery= от 0 до 6. Результатов нет.


В логах пишется следующее:

автор60313 23:10:54 [ERROR] Cannot find or open table zabbix/dbversion from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table contains indexes that this version of the engine
doesn't support.
See http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html
how you can resolve the problem.

Есть ли возможность вернуть базу к жизни? Может кто встречался и сможет подсказать?

з.ы. создал вторую базу, перенес туда структуру, а вот данные... Как восстановить данные?
...
Рейтинг: 0 / 0
Восстановление базы InnoDB или произошло что то не понятное.
    #39191071
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. что у вас с параметром datadir, может этот путь физически "недоступен" () смотреть в my.cnf и в выводе SHOW VARIABLES LIKE "%datadir%";
2. учитывая то, что
--------В каталоге var/lib/mysql/ существуют файлы ibdata1, ib_logfile1 и ib_logfile0.
--------В самой папке zabbix, есть все файлы .frm и .ibd.
параметр innodb_file_per_table = 1. может быть ошибочным (допустим внесен без перезагрузки сервера, так и остался)
3. третьего не дано. Файлы исчезнуть сами не могли
...
Рейтинг: 0 / 0
Восстановление базы InnoDB или произошло что то не понятное.
    #39191083
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinovпараметр innodb_file_per_table = 1. может быть ошибочным (допустим внесен без перезагрузки сервера, так и остался)Там дело не столько в перезагрузке, сколько в значении этого параметра на момент создания таблиц. А потом менять его можно сколько угодно - таблицы останутся на своих местах пока их не пересоздадут.
...
Рейтинг: 0 / 0
Восстановление базы InnoDB или произошло что то не понятное.
    #39191091
Alex_Ustinov1. что у вас с параметром datadir, может этот путь физически "недоступен" () смотреть в my.cnf и в выводе SHOW VARIABLES LIKE "%datadir%";
2. учитывая то, что
--------В каталоге var/lib/mysql/ существуют файлы ibdata1, ib_logfile1 и ib_logfile0.
--------В самой папке zabbix, есть все файлы .frm и .ibd.
параметр innodb_file_per_table = 1. может быть ошибочным (допустим внесен без перезагрузки сервера, так и остался)
3. третьего не дано. Файлы исчезнуть сами не могли

Что значит ошибочным?
У меня каждая таблица в разных файлах, НО без файлов ibdata1, ib_logfile1 и ib_logfile0 она существовать не может.
Файлы никуда не удалялись, а в том то и дело. Вы читали что я пишу?

авторMariaDB [(none)]> SHOW VARIABLES LIKE "%datadir%";
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.00 sec)

MariaDB [(none)]>
...
Рейтинг: 0 / 0
Восстановление базы InnoDB или произошло что то не понятное.
    #39191133
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Краснобаев,

нажал Ctrl+F поискал datadir, упоминание о datadir у вас не было.
на что вы ругаетесь, мне не понятно.
мда, приношу свои извинения, файлы FRM с описанием структуры и IBD с данными и индексами у вас на месте.. если datadir соответствует.....в том то и была мысль, что frm прочитался в "техн.базе" mysql (они по моим знаниям всегда там лежат) а данные из-за datadir могли искаться в другом месте

... остается теперь только методом "научного тыка" искать ошибку
ну и остается уповать на то что ibd не повреждены глобально
начните с прав доступа к этим файлам
...
Рейтинг: 0 / 0
Восстановление базы InnoDB или произошло что то не понятное.
    #39191154
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторчто frm прочитался в "техн.базе" mysql (они по моим знаниям всегда там лежат) а данные из-за datadir могли искаться в другом местеда, здесь я совершенно неточен, и frm и ibd находятся в каталоге с именем БД.
...
Рейтинг: 0 / 0
Восстановление базы InnoDB или произошло что то не понятное.
    #39191184
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

сам особо не вникал, innodb_file_per_table = 1 с версии 5.6.6 включен по дефолту
так а что же теперь хранится в старых файлах данных? только кэши получается?
...
Рейтинг: 0 / 0
Восстановление базы InnoDB или произошло что то не понятное.
    #39191196
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinovmiksoft,

сам особо не вникал, innodb_file_per_table = 1 с версии 5.6.6 включен по дефолту
так а что же теперь хранится в старых файлах данных? только кэши получается?Специально не проверял. По идее будет заголовок файла и, возможно, еще какой-то минимум структур.
Впрочем, у ТС MariaDB, возможно, она как-то иначе живет.
...
Рейтинг: 0 / 0
Восстановление базы InnoDB или произошло что то не понятное.
    #39191215
У кого нибудь есть опыт переносы idb файла с одной базы в другую. Говорят нужно менять ID, где его найти?
...
Рейтинг: 0 / 0
Восстановление базы InnoDB или произошло что то не понятное.
    #39191262
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно только поэкпериментировать - пример
пересоздать таблицу,
удалить таблспейс,
подсунуть ранее сохраненный ibd
импортировать таблспейс
автор1. ALTER TABLE tbl_name DISCARD TABLESPACE;
2. Put the newly saved .ibd file back in the proper database directory
3. ALTER TABLE tbl_name IMPORT TABLESPACE;
...
Рейтинг: 0 / 0
Восстановление базы InnoDB или произошло что то не понятное.
    #39191273
Так не получается.
Где то пишут что там нужно редактировать HEX редактором, и искать ID файла.
...
Рейтинг: 0 / 0
Восстановление базы InnoDB или произошло что то не понятное.
    #39191291
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там же ниже, ссылка на хек-эдитор и действия с ним
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Восстановление базы InnoDB или произошло что то не понятное.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]