Не могу запустить mysql (xampp) после установки на внешний диск
Я решил перенести установку 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
Все еще без изменений. Любая помощь будет оценена.
РЕДАКТИРОВАТЬ: РЕШЕНО (см. Ниже)
2 ответа
После еще нескольких исследований, экспериментов и головной боли (это беспокоит меня с прошлой ночи), я нашел решение. В дополнение к добавлению вышеупомянутых изменений в 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 ТБ +. Источник для этого решения можно найти на этой странице.
Измените свой бэкэнд на MyISAM
от InnoDB
, ваш mysql
составлено без InnoDB