|
|
|
Восстановление базы InnoDB или произошло что то не понятное.
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. У меня случилась беда. После аварийной ситуации на станционном оборудовании, выключился 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. Есть ли возможность вернуть базу к жизни? Может кто встречался и сможет подсказать? з.ы. создал вторую базу, перенес туда структуру, а вот данные... Как восстановить данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 00:37 |
|
||
|
Восстановление базы InnoDB или произошло что то не понятное.
|
|||
|---|---|---|---|
|
#18+
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. третьего не дано. Файлы исчезнуть сами не могли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 08:25 |
|
||
|
Восстановление базы InnoDB или произошло что то не понятное.
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovпараметр innodb_file_per_table = 1. может быть ошибочным (допустим внесен без перезагрузки сервера, так и остался)Там дело не столько в перезагрузке, сколько в значении этого параметра на момент создания таблиц. А потом менять его можно сколько угодно - таблицы останутся на своих местах пока их не пересоздадут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 09:09 |
|
||
|
Восстановление базы InnoDB или произошло что то не понятное.
|
|||
|---|---|---|---|
|
#18+
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)]> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 09:21 |
|
||
|
Восстановление базы InnoDB или произошло что то не понятное.
|
|||
|---|---|---|---|
|
#18+
Александр Краснобаев, нажал Ctrl+F поискал datadir, упоминание о datadir у вас не было. на что вы ругаетесь, мне не понятно. мда, приношу свои извинения, файлы FRM с описанием структуры и IBD с данными и индексами у вас на месте.. если datadir соответствует.....в том то и была мысль, что frm прочитался в "техн.базе" mysql (они по моим знаниям всегда там лежат) а данные из-за datadir могли искаться в другом месте ... остается теперь только методом "научного тыка" искать ошибку ну и остается уповать на то что ibd не повреждены глобально начните с прав доступа к этим файлам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 10:04 |
|
||
|
Восстановление базы InnoDB или произошло что то не понятное.
|
|||
|---|---|---|---|
|
#18+
авторчто frm прочитался в "техн.базе" mysql (они по моим знаниям всегда там лежат) а данные из-за datadir могли искаться в другом местеда, здесь я совершенно неточен, и frm и ibd находятся в каталоге с именем БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 10:19 |
|
||
|
Восстановление базы InnoDB или произошло что то не понятное.
|
|||
|---|---|---|---|
|
#18+
miksoft, сам особо не вникал, innodb_file_per_table = 1 с версии 5.6.6 включен по дефолту так а что же теперь хранится в старых файлах данных? только кэши получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 10:41 |
|
||
|
Восстановление базы InnoDB или произошло что то не понятное.
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovmiksoft, сам особо не вникал, innodb_file_per_table = 1 с версии 5.6.6 включен по дефолту так а что же теперь хранится в старых файлах данных? только кэши получается?Специально не проверял. По идее будет заголовок файла и, возможно, еще какой-то минимум структур. Впрочем, у ТС MariaDB, возможно, она как-то иначе живет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 10:50 |
|
||
|
Восстановление базы InnoDB или произошло что то не понятное.
|
|||
|---|---|---|---|
|
#18+
У кого нибудь есть опыт переносы idb файла с одной базы в другую. Говорят нужно менять ID, где его найти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 11:12 |
|
||
|
Восстановление базы InnoDB или произошло что то не понятное.
|
|||
|---|---|---|---|
|
#18+
можно только поэкпериментировать - пример пересоздать таблицу, удалить таблспейс, подсунуть ранее сохраненный 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; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 12:24 |
|
||
|
Восстановление базы InnoDB или произошло что то не понятное.
|
|||
|---|---|---|---|
|
#18+
Так не получается. Где то пишут что там нужно редактировать HEX редактором, и искать ID файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 12:38 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=108&tid=1832067]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 361ms |

| 0 / 0 |
