4

Я решил перенести установку XAMPP на внешний диск. Это USB3 3TB накопитель Seagate. К сожалению, mysql не хочет начинать. Все работает нормально, если я устанавливаю XAMPP на диск C, но не работает, когда я пытаюсь сделать то же самое на внешнем диске. Я деинсталлировал и перезагружал компьютер много раз, очищал все следы mysql с компьютера, и я все еще получаю ту же ошибку.

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

Это содержимое файла журнала:

131003 11:36:20 [Note] Plugin 'FEDERATED' is disabled.
131003 11:36:20 InnoDB: The InnoDB memory heap is disabled
131003 11:36:20 InnoDB: Mutexes and rw_locks use Windows interlocked functions
131003 11:36:20 InnoDB: Compressed tables use zlib 1.2.3
131003 11:36:20 InnoDB: Initializing buffer pool, size = 16.0M
131003 11:36:20 InnoDB: Completed initialization of buffer pool
InnoDB: Error: space header page consists of zero bytes in data file F:\design\code\mysql\data\ibdata1
131003 11:36:20 InnoDB: Could not open or create data files.
131003 11:36:20 InnoDB: If you tried to add new data files, and it failed here,
131003 11:36:20 InnoDB: you should now edit innodb_data_file_path in my.cnf back
131003 11:36:20 InnoDB: to what it was, and remove the new ibdata files InnoDB created
131003 11:36:20 InnoDB: in this failed attempt. InnoDB only wrote those files full of
131003 11:36:20 InnoDB: zeros, but did not yet use them in any way. But be careful: do not
131003 11:36:20 InnoDB: remove old data files which contain your precious data!
131003 11:36:20 [ERROR] Plugin 'InnoDB' init function returned error.
131003 11:36:20 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
131003 11:36:20 [ERROR] Unknown/unsupported storage engine: InnoDB
131003 11:36:20 [ERROR] Aborting

131003 11:36:20 [Note] f:\design\code\mysql\bin\mysqld.exe: Shutdown complete

Я уже попробовал некоторые предложения, упомянутые в других темах, как эта

innodb_buffer_pool_size = 256M
innodb_log_file_size    = 256M
innodb_thread_concurrency   = 16
innodb_flush_log_at_trx_commit = 2

Все еще без изменений. Любая помощь будет оценена.

РЕДАКТИРОВАТЬ: РЕШЕНО (см. Ниже)

2 ответа2

3

После еще нескольких исследований, экспериментов и головной боли (это беспокоит меня с прошлой ночи) я нашел решение. В дополнение к добавлению вышеупомянутых изменений в файл my.ini

innodb_buffer_pool_size = 256M
innodb_log_file_size    = 256M
innodb_thread_concurrency   = 16
innodb_flush_log_at_trx_commit = 2

Я также добавил эту строку в конец файла my.ini

innodb_flush_method=normal

Теперь все отлично работает. Похоже, что это ошибка, связанная с большим размером сектора на жестких дисках объемом 2 ТБ +. Источник для этого решения можно найти на этой странице.

0

Измените свой бэкэнд на MyISAM с InnoDB , ваш mysql скомпилирован без InnoDB

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