%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%20%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8%20%D0%BD%D0%B0%20%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D0%B9%20%D0%B4%D0%B8%D1%81%D0%BA.png)
Я решил перенести установку XAMPP на внешний диск. Это диск USB3 Seagate на 3 ТБ. К сожалению, 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
По-прежнему никаких изменений. Любая помощь будет оценена.
ИЗМЕНИТЬ: РЕШЕНО (см. ниже)
решение1
После некоторых дополнительных исследований, экспериментов и головной боли (это беспокоит меня с прошлой ночи) я нашел решение. В дополнение к добавлению вышеупомянутых изменений в 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 ТБ+. Исходный код этого решения можно найти наэта страница.
решение2
Измените ваш бэкэнд на MyISAM
from InnoDB
, ваш mysql
скомпилирован безInnoDB