2009-09-29 4 views
2

Вот так:MySQL резервного копирования и восстановления из ib_logfile отказа

После компьютерного взлома, мы в спешке сделать резервную копию всех данных из к другому компьютеру.

В результате базы данных mysql не являются резервными как выражение sql.

Мы сделали резервную копию всех физических файлов/папок в диске C на новый компьютер.

Например:

C: \ Program Files \ MySQL \ MySQL Server 4.1 \ Данные

В этом случае все данные для MySQL внутри нечитаемым файла. Внутренняя папка данных состоит из таких файлов, как ib_logfile0, ib_logfile1, но не ib_data1 Формат всей таблицы базы данных в каждой соответствующей папке. (В некоторых папках есть .frm, .opt) (в некоторых других папках есть .frm, .myd, .myi)

Как восстановить данные из базы данных на новом компьютере?

Я попытался установить ту же самую версию mysql (4.1) на новый компьютер, а затем заменить все файлы резервных копий внутри папки данных на этот mysql на новом компьютере. Затем перезапустите службу mysql.

Когда я перезагружаюсь, он не работает: не удалось запустить службу mysql на локальном компьютере. ошибка 1067: процесс неожиданно завершен.

Ошибка журнала с указанием:

InnoDB: The first specified data file .\ibdata1 did not exist: 
InnoDB: a new database to be created! 
090930 10:24:49 InnoDB: Setting file .\ibdata1 size to 10 MB 
InnoDB: Database physically writes the file full: wait... 
InnoDB: Error: log file .\ib_logfile0 is of different size 0 87031808 bytes 
InnoDB: than specified in the .cnf file 0 25165824 bytes! 
090930 10:24:49 [ERROR] Can't init databases 
090930 10:24:49 [ERROR] Aborting 

090930 10:24:49 [Note] C:\Program Files\MySQL\MySQL Server 4.1\bin\mysqld-nt: Shutdown complete 

ответ

0

ваш журнал ошибок указывает, что ваша версия innodb не соответствует вашим файлам innodb. вам нужно посмотреть файл конфигурации на вашем старом сервере, чтобы выяснить, где mysql был настроен для хранения ваших файлов innodb. затем найдите эти файлы и скопируйте их на новый сервер. вы также должны скопировать настройки конфигурации innodb точно со старого сервера и применить их к новому серверу.

0

вы должны смотреть на журнал mysql.err в папке данных, чтобы увидеть, что это не так.

сервис mysql начал правильно, когда вы его впервые установили?

похоже, что вы на окнах, поэтому я собираюсь предположить, что вы переместили файлы, а не копировали их. при перемещении файлов в Windows они сохраняют свои разрешения. при копировании они наследуют разрешения из папки. поэтому убедитесь, что у них есть правильные разрешения.

+0

Да, mysql начал правильно при первой установке. Он не запускается после того, как я скопирую файлы в папку фактических данных. В этом случае, как я могу проверить и восстановить разрешение? –

0

Похоже, что ваш innodb_log_file_size в my.ini не был таким же, как раньше.

взглянуть на ib_logfile0 размер файла в папке данных, и если это 102,400KB должно быть: innodb_log_file_size = 100M

Yours выглядит как это должно быть: innodb_log_file_size = 83M (установлен в 24М сейчас)

У меня была эта проблема, когда кто-то использовал установщик для «восстановления» установки mysql.

Удачи.

+0

означает ли это, что вы можете сделать выше? восстановить без ibdata? – eglasius

Смежные вопросы