Страница 1 из 1

Я испортила мужу ibdata1, что делать? (MySQL-5.6.15)

Добавлено: 28 фев 2014, 11:59
Kindos
Я, нечаянно, поставила ноутбук в место, где он нагрелся и завис. Муж на ноутбуке делал сайт. Теперь разъярённый говорит, чтобы я на вашем форуме регистрировалась, искала Максима и спрашивала, что теперь делать. Дальше пишу под диктовку (а в конце вопросы):
1. windows 7, после сбоя была перезагрузка и отработал чекдиск виндовса, который правил ibdata1
2. При запуске опэнсервера и ошибка приложения:
Сигнатура проблемы:
  Имя события проблемы:	APPCRASH
  Имя приложения:	mysqld.exe
  Версия приложения:	5.6.15.0
  Отметка времени приложения:	52890b63
  Имя модуля с ошибкой:	mysqld.exe
  Версия модуля с ошибкой:	5.6.15.0
  Отметка времени модуля с ошибкой:	52890b63
  Код исключения:	80000003
  Смещение исключения:	00267470
  Версия ОС:	6.1.7601.2.1.0.256.1
  Код языка:	1049
  Дополнительные сведения 1:	0a9e
  Дополнительные сведения 2:	0a9e372d3b4ad19135b953a78882e789
  Дополнительные сведения 3:	0a9e
  Дополнительные сведения 4:	0a9e372d3b4ad19135b953a78882e789
3. Папки в MySQL-5.6.15 и другие файлы целые

4. Логи:
 2014-02-28 13:54:05 5632 [Note] Plugin 'FEDERATED' is disabled.
2014-02-28 13:54:05 5632 [Note] InnoDB: The InnoDB memory heap is disabled
2014-02-28 13:54:05 5632 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2014-02-28 13:54:05 5632 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-02-28 13:54:05 5632 [Note] InnoDB: Not using CPU crc32 instructions
2014-02-28 13:54:05 5632 [Note] InnoDB: Initializing buffer pool, size = 20.0M
2014-02-28 13:54:05 5632 [Note] InnoDB: Completed initialization of buffer pool
2014-02-28 13:54:05 5632 [Note] InnoDB: Highest supported file format is Barracuda.
2014-02-28 13:54:05 5632 [Note] InnoDB: Log scan progressed past the checkpoint lsn 57658744
2014-02-28 13:54:05 5632 [Note] InnoDB: Database was not shutdown normally!
2014-02-28 13:54:05 5632 [Note] InnoDB: Starting crash recovery.
2014-02-28 13:54:05 5632 [Note] InnoDB: Reading tablespace information from the .ibd files...
2014-02-28 13:54:05 5632 [Note] InnoDB: Restoring possible half-written data pages 
2014-02-28 13:54:05 5632 [Note] InnoDB: from the doublewrite buffer...
InnoDB: Doing recovery: scanned up to log sequence number 57675095
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 466.
InnoDB: You may have to recover from a backup.
2014-02-28 13:54:06 2d4 InnoDB: Page dump in ascii and hex (16384 bytes):
 len 16384; hex КУЧА НУЛЕЙ 25cac31103676783; asc       
   gg ;
InnoDB: End of page dump
2014-02-28 13:54:06 2d4 InnoDB: uncompressed page, stored checksum in field1 0, calculated checksums for field1: crc32 536728786, innodb 1575996416, none 3735928559, stored checksum in field2 634045201, calculated checksums for field2: crc32 536728786, innodb 1371122432, none 3735928559, page LSN 0 0, low 4 bytes of LSN at page end 57108355, page number (if stored to page already) 0, space id (if created with >= MySQL-4.1.1 and stored already) 0
InnoDB: Page may be a freshly allocated page
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 466.
InnoDB: You may have to recover from a backup.
InnoDB: It is also possible that your operating
InnoDB: system has corrupted its own file cache
InnoDB: and rebooting your computer removes the
InnoDB: error.
InnoDB: If the corrupt page is an index page
InnoDB: you can also try to fix the corruption
InnoDB: by dumping, dropping, and reimporting
InnoDB: the corrupt table. You can use CHECK
InnoDB: TABLE to scan your table for corruption.
InnoDB: See also http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
InnoDB: Ending processing because of a corrupt database page.
2014-02-28 13:54:06 2d4  InnoDB: Assertion failure in thread 724 in file buf0buf.cc line 4054
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
07:54:06 UTC - mysqld got exception 0x80000003 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed, 
something is definitely wrong and this may fail.

key_buffer_size=26214400
read_buffer_size=2097152
max_used_connections=0
max_threads=30
thread_count=0
connection_count=0
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 118043 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
1547470    mysqld.exe!my_thread_name()
17814fd    mysqld.exe!my_mb_ctype_mb()
169f8db    mysqld.exe!murmur3_32()
16a00dd    mysqld.exe!murmur3_32()
15fd2ee    mysqld.exe!murmur3_32()
1694ab1    mysqld.exe!murmur3_32()
1694eef    mysqld.exe!murmur3_32()
15ebb7d    mysqld.exe!murmur3_32()
15ebda6    mysqld.exe!murmur3_32()
15ec0a2    mysqld.exe!murmur3_32()
15d4b8c    mysqld.exe!murmur3_32()
15bdc04    mysqld.exe!murmur3_32()
157aa5a    mysqld.exe!murmur3_32()
12f9e50    mysqld.exe!?ha_initialize_handlerton@@YAHPAUst_plugin_int@@@Z()
1333d9e    mysqld.exe!?plugin_lock_by_name@@YAPAUst_plugin_int@@PAVTHD@@PBUst_mysql_lex_string@@H@Z()
1338424    mysqld.exe!?plugin_init@@YAHPAHPAPADH@Z()
12f156b    mysqld.exe!?init_common_variables@@YAHXZ()
12f2278    mysqld.exe!?win_main@@YAHHPAPAD@Z()
12f27e7    mysqld.exe!?mysql_service@@YAHPAX@Z()
177c05a    mysqld.exe!my_mb_ctype_mb()
754aed5c    kernel32.dll!BaseThreadInitThunk()
76f437eb    ntdll.dll!RtlInitializeExceptionChain()
76f437be    ntdll.dll!RtlInitializeExceptionChain()
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
Ручной запуск сикюлд дал:
C:\OpenServer\modules\database\MySQL-5.6.15\bin>mysqld
2014-02-28 14:20:33 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option
ocumentation for more details).
2014-02-28 14:20:33 5648 [Warning] Can't create test file C:\OpenServer\modules\database\MySQL-5.6.15\data\Redactor.lower-test
2014-02-28 14:20:33 5648 [Warning] Can't create test file C:\OpenServer\modules\database\MySQL-5.6.15\data\Redactor.lower-test
mysqld: Can't change dir to 'C:\OpenServer\modules\database\MySQL-5.6.15\data\' (Errcode: 2 - No such file or directory)
2014-02-28 14:20:33 5648 [ERROR] Aborting

2014-02-28 14:20:33 5648 [Note] Binlog end
2014-02-28 14:20:33 5648 [Note] mysqld: Shutdown complete
5. Вопросы мужа:
Делает ли опенсервер автоматический бакап, если да, то как найти и восстановить?
Возможно ли без ibdata1 восстановить базы (другие файлы, вроде, целые)?
Не нашёл в справке, как запускать вручную мускул. При запуске из папки модулей, ссылается на несуществующие пути:
C:\OpenServer\modules\database\MySQL-5.6.15\bin>mysqld -force
2014-02-28 14:43:00 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option
ocumentation for more details).
2014-02-28 14:43:00 4536 [Warning] Can't create test file C:\OpenServer\modules\database\MySQL-5.6.15\data\Redactor.lower-test
2014-02-28 14:43:00 4536 [Warning] Can't create test file C:\OpenServer\modules\database\MySQL-5.6.15\data\Redactor.lower-test
mysqld: Can't change dir to 'C:\OpenServer\modules\database\MySQL-5.6.15\data\' (Errcode: 2 - No such file or directory)
2014-02-28 14:43:00 4536 [ERROR] Aborting
2014-02-28 14:43:00 4536 [Note] Binlog end
2014-02-28 14:43:00 4536 [Note] mysqld: Shutdown complete
Есть подозрение, что это как-то связано с опенсерверской структурой хранения данных. Сильно связаны руки без запущенного мускула или mysqladmin mysql-чек и т.п. Разрешено ли наглое копирование в \OpenServer\userdata\MySQL-5.6.15 и даст ли это решение проблем с путями

И мой вопрос, что такое: бд контэнт хендмейд бит бай бит рековэри фром виндовс мемори дамп, и мануал црц чек он виндовс калк? Муж это постоянно повторяет мне. Я часть этого уже перевела, но ничего понять не могу...

Добавлено: 28 фев 2014, 13:59
Максим
0) Сделайте резервную копию всей папки с базами прямо сейчас и храните её в неизменном виде пока всё не восстановите.

1) Нет, Open Server не делает постоянных бэкапов, восстановить базы из бэкапа нельзя.

2) У вас испортился файл хранилища InnoDB, Open Server настроен так, что ведутся бинарные логи, поэтому восстановить базы данных будет достаточно просто.

3) Если ваш муж использовал базы только в формате MyISAM, то никакая информация вообще не потеряна и все базы можно использовать прямо сейчас, они хранятся в папках под своими названиями, а не в файле ibdata1. Просто отключите в конфиге mysql использование InnoDB или скопируйте папки с базами в чистую копию Open Server.

4) Если у вас был поврежден диск и какие-то сектора были безвозвратно повреждены (бэды) или во время проверки диска они были очищены как ошибочные, то может так случится что базы вы уже не восстановите никогда.

5) Процесс восстановления описан в документации к MySQL и это не формат обсуждения нашего форума. Пройдите на специализированные форумы по MySQL или читайте здесь: http://dev.mysql.com/doc/refman/5.6/en/ ... overy.html

[РЕШЕНО] СПАСИБО! Вкратце: взял этот файл с чистой установки в соседнюю папку

Добавлено: 28 фев 2014, 14:31
Kindos
Огромное, спасибо! Я всё восстановил копированием этого файла с чистой установки. Прошу прощение за форматирование поста - писал не я 8-) ! В это время, нервно, сидел за соседнем ПК и читал мануал :mrgreen: , паралельно диктовал! Жена сейчас жарит пирожки :twisted: !!!
Хоть и не в нужный топик, но пожелание связаны с ответом:
- В новых версиях было бы шикарно иметь автобэкап ... даже обычное копирование всей папки по запуску или остановке сервера, в zip файлик, уже бы расчистило бы форум от ошибок начинающих юзеров. Много настроек, не дефаултные настройки различных модулей и т.п. усложняют восстановление, а так - щёлк и вот вчеращняя версия всего... и настроек и контента. Система, как я вижу построена для упрощения работы связки мускула пхп и т.п. Ограждение юзеров от изучения скриптов, утилит восстановления и т.п. методом отката - изящно! Суппорту - спасибо за труды. Скажите, как я могу вам помочь в ваших делах, помимо бабла :) ?

Добавлено: 28 фев 2014, 14:43
Максим
Расскажите об Open Server своим друзьям и коллегам кто связан с веб-разработкой, это отличная помощь. А что касается бэкапа - автобэкап это конечно хорошо, но если у пользователя базы данных размером по 10 гигабайт, то автобэкап съест ему весь диск :mrgreen: