1

Я пытаюсь восстановить базу данных MySQL с мертвого HD. Я следовал инструкциям по копированию старых файлов: https://stackoverflow.com/questions/40479395/export-mysql-datatabase-from-a-dead-hard-drive-xampp, но получаю следующее сообщение в моем журнале ошибок:

170114 22:21:07 [Note] Plugin 'FEDERATED' is disabled.
170114 22:21:07 InnoDB: The InnoDB memory heap is disabled
170114 22:21:07 InnoDB: Mutexes and rw_locks use Windows interlocked functions
170114 22:21:07 InnoDB: Compressed tables use zlib 1.2.3
170114 22:21:07 InnoDB: Initializing buffer pool, size = 38.0M
170114 22:21:07 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file .\ib_logfile0 is of different size 0 56623104 bytes
InnoDB: than specified in the .cnf file 0 19922944 bytes!
170114 22:21:07 [ERROR] Plugin 'InnoDB' init function returned error.
170114 22:21:07 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
170114 22:21:07 [ERROR] Unknown/unsupported storage engine: INNODB
170114 22:21:07 [ERROR] Aborting

170114 22:21:07 [Note] C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld.exe: Shutdown complete

Старая база данных была 5.5.40, а новая - 5.5.54, потому что я не смог успешно установить точно такую же версию (ссылки для скачивания, которые нужны установщику, больше не работают). Является ли ошибка просто размером, указанным в файле .cnf или это маскирует что-то еще?

1 ответ1

0

Благодаря @ITSolutions я решил проблему.

Я нашел свой файл cnf в C:\Program Files\MySQL\MySQL Server 5.5\my.ini (расположение может иногда отличаться).

Я внес следующие изменения (обратите внимание на закомментированные исходные значения) и перезапустил службу MySQL.

# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and
# row data. The bigger you set this the less disk I/O is needed to
# access data in tables. On a dedicated database server you may set this
# parameter up to 80% of the machine physical memory size. Do not set it
# too large, though, because competition of the physical memory may
# cause paging in the operating system.  Note that on 32bit systems you
# might be limited to 2-3.5G of user level memory per process, so do not
# set it too high.
#innodb_buffer_pool_size=38M
innodb_buffer_pool_size=108M

# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.
#innodb_log_file_size=19M
innodb_log_file_size=54M

Он загрузился в течение нескольких секунд, и все мои данные снова доступны!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .