XAMPP-MySQL завершение работы неожиданно

когда я открываю XAMPP и нажимаю кнопку запуска MySQL, и это дает мне ошибку. Я начал его только что, но теперь он не работает.

12: 19: 12 PM [mysql] попытка запустить приложение MySQL...
12: 19 :12 PM [mysql] обнаружено изменение статуса: running
12: 19: 13 PM [mysql] обнаружено изменение статуса: остановлено
12: 19: 13 PM [mysql] ошибка: MySQL выключение неожиданно.
12: 19: 13 PM [mysql] это может быть связано с заблокированным портом, отсутствующим зависимости,
12: 19: 13 PM [mysql] неправильные привилегии, сбой или завершение работы другим методом
12: 19: 13 PM [mysql] Нажмите кнопку Logs, чтобы просмотреть журналы ошибок и проверить
12: 19: 13 PM [mysql] Средство просмотра событий Windows для получения дополнительных подсказок
12: 19: 13 PM [mysql] Если вам нужна дополнительная помощь, скопируйте и опубликуйте это
12: 19 :13 PM [mysql] все окно журнала на форумах

вот содержимое журнала ошибок:

2013-08-02 12:19: 12 4536 [Примечание] плагин 'FEDERATED' отключен.
2013-08-02 12:19: 12 F64 InnoDB: предупреждение: использование innodb_additional_mem_pool_size устарело. Эта опция может быть удалена в будущих выпусках вместе с опцией innodb_use_sys_malloc и с внутренним распределителем памяти InnoDB.
2013-08-02 12:19: 12 4536 [Примечание] InnoDB: куча памяти InnoDB отключена
2013-08-02 12:19: 12 4536 [Примечание] InnoDB: мьютексы и rw_locks используют функции блокировки Windows
2013-08-02 12:19: 12 4536 [Примечание] InnoDB: сжатые таблицы используют zlib 1.2.3
2013-08-02 12:19: 12 4536 [Примечание] InnoDB: не использовать CPU crc32 инструкции
2013-08-02 12:19: 12 4536 [Примечание] InnoDB: инициализация буферного пула, размер = 16.0 m
2013-08-02 12:19: 12 4536 [Примечание] InnoDB: завершена инициализация буферного пула
2013-08-02 12:19: 12 4536 [Примечание] InnoDB: самый высокий поддерживаемый формат файла-Barracuda.
2013-08-02 12: 19 :12 4536 [Примечание] InnoDB: последовательность журнала номера 0 и 0 в файлах ibdata не соответствуют порядковому номеру журнала 1616798 в ib_logfiles!
2013-08-02 12:19: 12 4536 [Примечание] InnoDB: база данных не была выключена нормально!
2013-08-02 12:19: 12 4536 [Примечание] InnoDB: начало аварийного восстановления.
2013-08-02 12:19: 12 4536 [Примечание] InnoDB: чтение табличной информации из .файлы ibd...

самое важное сообщение об ошибке здесь:

2013-08-02 12:19:12 4536 [Ошибка] InnoDB в:
Попытка открыть ранее открытое табличное пространство.
Предыдущее табличное пространство mysql / innodb_table_stats использует идентификатор пространства: 1 в filepath:.\innodb_table_stats в MySQL.ibd.
Не открытое пространство xat / платежи который использует идентификатор пространства: 1 в filepath:.чатплатежи.ibd

остальная часть журнала:

InnoDB: ошибка: не удалось открыть одну таблицу файл табличного пространства .чатплатежи.ibd
InnoDB: мы не продолжаем восстановление сбоя, потому что таблица может стать
InnoDB: поврежден, если мы не можем применить записи журнала в журнале InnoDB к нему.
InnoDB: чтобы исправить проблему и запустить mysqld:
InnoDB: 1) Если есть проблема с разрешением в файле, и mysqld не может
InnoDB: откройте файл, вы должны изменить разрешения.
InnoDB: 2) Если таблица не нужна, или вы можете восстановить ее из резервное копирование,
InnoDB: тогда вы можете удалить .ibd файл, и InnoDB будет делать нормальный
InnoDB: аварийное восстановление и игнорирование этой таблицы.
InnoDB: 3) Если файловая система или диск сломаны, и вы не можете удалить
InnoDB: the .ibd-файл, вы можете установить innodb_force_recovery > 0 в my.cnf
InnoDB: и заставить InnoDB продолжить восстановление сбоя здесь.

в чем причина этих ошибок и как исправить их?

20 ответов


Эй, я просто сделал это, и это сработало:

  1. выход сервер Xampp
  2. перейти к вашей C:\xampp\mysql\data каталог
  3. удалить на
  4. перезагрузка сервер xampp

Он должен работать


  1. на mysql / data/
  2. удалить все случайные файлы (кроме фактических папок базы данных)
  3. перезагрузка Apache и в MySQL.

это должно исправить.


добавить следующую строку под [mysqld] раздел в файле конфигурации mysql (my.ini) и перезапустить веб-сервер apache и службу mysql после этого.

[mysqld]
innodb_force_recovery = 4

я получил такую же ошибку в моем C:\xampp\mysql\data\mysql_error.log при попытке запустить MySQL.

2013-08-05 01:20:32 6780 [ERROR] InnoDB: Attempted to open a previously 
  opened tablespace. Previous tablespace mysql/slave_relay_log_info uses 
  space ID: 3 at filepath: .\mysql\slave_relay_log_info.ibd. Cannot open  
  tablespace test_database/test_table which uses space ID: 3 at filepath:  
  .\test_database\test_table.ibd

вам придется внимательно прочитать ошибку. Это говорит о том, что test_database предотвращает запуск mysql.

вы можете сдуть оскорбительную базу данных, эти шаги устраняют проблему:

  1. убедитесь, что mysql и xampp полностью закрыты.
  2. перейдите в каталог, где установлен mysql, мой: C:\xampp\mysql\data
  3. вы должны увидеть папку с именем базы данных, которую вы создали. мой был test_database.
  4. создайте новую папку где-нибудь еще под названием C:\xampp\mysql\data\mysql\backuptablespace
  5. перетащите (не удаляйте) папку таблицы базы данных-нарушителя в каталог резервного копирования.
  6. попробуйте снова запустить mysql. Для меня это началось в 1 секунду, как ожидалось.

если это не работает, поместите файл туда, где вы начали, и вы вернетесь с чего ты начал.

если вы не хотите удалять базу данных и не имеете резервных копий:

если у вас нет резервных копий табличных данных, и mysql не запустится, потому что что-то повреждено, вам придется использовать процесс исключения, чтобы угадать и проверить свой путь к тому, что вы сделали, что повредило его. Выполните следующие действия:

  1. сделать клон всего C:\xampp\ и хранить его в безопасном месте, чтобы вы могли вернуться туда, где вы начатый.
  2. используйте подход "двоичного поиска", чтобы попытаться найти поврежденный элемент в базе данных mysql. Это может быть файл или таблица или база данных, пользователь или ничего.
  3. удалите всю базу данных и посмотрите, позволяет ли это mysql запускаться. Если да, то верните базу данных и попробуйте удалить некоторые таблицы. Если это не так, попробуйте вытащить что-то еще, пока это не начнется.
  4. Попробуйте удалить эти файлы из C:\xampp\mysql\data\mysql: децибел.кадр децибел.MRD децибел.MYI децибел.выбирать пользователь.кадр пользователь.МЫДЬ пользователь.Мии

  5. когда вы получаете mysql, чтобы начать, попробуйте положить вещи обратно, пока вы не найдете одну вещь, которую вы добавляете, которая предотвращает его от запуска. Один бонус за это-вы узнаете, как mysql работает под капотом.

ядерный вариант:

что-то, что вы сделали, испортило сервер mysql. Удаление и переустановка XAMPP должны отменить повреждение.


когда вы не запуск XAMPP в качестве администратора, завершение работы MySQL часто вызывает повреждение, которое означает, что вы должны восстановить или удалить свои таблицы. Чтобы избежать этого, вам нужно либо запустить XAMPP как администратор, либо использовать правильный метод командной строки для выключения MySQL.

вы можете удалить ibdata1 Как предлагает Кратос, но это может оставить вас с разбитой базой данных, поскольку другие части вашей базы данных все еще находятся в /mysql/data/ папка. В моем случае, эти остаточные данные остановили меня успешно установить WordPress.

более чистый способ отменить ущерб, чтобы вернуть весь /mysql/data/ папка. Windows имеет встроенную папку управления версиями-щелкните правой кнопкой мыши на /mysql/data/ и выберите Restore previous versions. Затем вы можете удалить текущее содержимое папки и заменить его содержимым более старой версии.

добавление: чтобы убедиться, что вы не забыли запустить XAMPP в качестве администратора, вы можете щелкнуть правой кнопкой мыши ярлык XAMPP, перейдите к Properties, потом Advanced и, наконец, отметьте Run as administrator.


Я тоже столкнулась с этой проблемой и вот как я решил.
1. Убедитесь,что xampp не находится в подкаталоге. Например, это должно быть C:\xampp
2. При запуске приложения может потребоваться Запуск от имени администратора.

надеюсь, это сработает!


мой XAMPP MySQL работал просто следующим образом:

01.Go to mysql/data/ directory
02. delete the ibdata1 & ib_logfile*(ib_logfile0,ib_logfile1,ib_logfile101) file
03. restart xampp server

Config - >Apache - >открыть httpd.conf. поиск прослушивания или 80, обновление порта прослушивания до 8081 сохранение и перезапуск сервера. О, и выключите Skype, если у вас есть.


убедитесь, что системное время правильное. Шахта была установлена на 2040 год каким-то образом, исправление даты решило проблему.


вот что я сделал. Я перезагрузил компьютер. Затем я запускаю службы.магистр. Я остановил службу MySQL, затем перезапустил ее. На сервер был перезапущен XAMPP был.


для меня я вышел из Skype, который занимал порт 80, затем Apache радостно побежал на порт 80, чем я запустил Skype, и на этот раз он выбрал другой порт.


я столкнулся с той же проблемой, и ни одно из решений, указанных выше, не помогло мне. я пошел в файл конфигурации mysql (my.ini) и изменил номер порта под [mysqld].По умолчанию mysql работает на порту 3306.

port= 3306

Я изменил его ,

port= 8111

затем запустите от имени администратора.Наконец - то это сработало.


ребята просто убедитесь, что у вас не установлен сервер MySql. Потому что у меня есть сервер MySql, предварительно установленный, и когда я запускаю mysql из панели управления xampp, некоторые конфликты портов происходят и не работают.. Поэтому перед запуском mysql из панели управления xampp убедитесь, что сервер mysql не установлен. Я использую .net, поэтому я установил сервер mysql в прошлом. Удаление его решило мою проблему....


в моем случае, когда я синхронизировал свои данные mysql и htdocs с dropbox, мне просто нужно было удалить конфликтующие файлы в папке mysql/data и подпапках. Конфликтующие файлы могут быть идентифицированы по их именам, dropbox скажет вам об этом. Это решило проблему для меня.


для этого вам нужно нажать на опцию x в разделе Modules Services и установить службы MYSQL. Затем запустите службы. Вот, держи.


никакое решение выше не работало для меня. тогда я сделал ниже:

Я удалил все файлы внутри C:\xampp\mysql\data\ каталог кроме папок в этом каталоге. Он работал отлично, но мои предыдущие базы данных не работают сейчас. Так что сделайте выше, если вам все равно, он удалит все ваши предыдущие базы данных в phpmyadmin.


Если сообщение об ошибке " mysql.exe перестала работать". Просто запустите xampp-управление.exe как администратор разрешит вашу проблему немедленно.


Если какая-либо из вышеперечисленных вещей не работает, сделайте заднюю часть каталога Xampp и переустановите Xampp. Что, безусловно, работает!


Если вы используете MariaDB, вы можете попробовать следующее:

  1. перейти к mysql / data/
  2. переименовать aria_log_control to aria_log_control_old
  3. Перезапустить "Mysql"

я комментирую это утверждение в mysql/bin / my.ini

'innodb_additional_mem_pool_size=2M'

и это решает мою проблему. чем вы все