Подтвердить что ты не робот

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

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

12:19:12 PM [mysql] Попытка запуска приложения MySQL...
12:19:12 PM [mysql] Обнаружено изменение состояния: работает
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] Нажмите кнопку "Журналы", чтобы просмотреть журналы ошибок и проверить 12:19:13 [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 DEPRECATED. Эта опция может быть удалена в будущих выпусках вместе с опцией 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.0M
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 использует пробел ID: 1 в пути к файлу:.\Mysql\innodb_table_stats.ibd.
Не удается открыть табличное пространство xat/payments, которое использует пробел ID: 1 в пути к файлу:.\Xat\payments.ibd

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

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

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

4b9b3361

Ответ 1

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

  • выйти из сервера Xampp
  • перейдите в каталог C:\xampp\mysql\data
  • удалите файл ibdata1
  • перезапустить сервер xampp

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

Ответ 2

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

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

Ответ 3

Мой 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

Ответ 4

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

[mysqld]
innodb_force_recovery = 4

Ответ 5

У меня такая же ошибка в моем 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.

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

  • Убедитесь, что mysql и xampp полностью закрыты.
  • Перейдите в каталог, где установлен mysql, мой: C:\xampp\mysql\data
  • Вы должны увидеть папку с именем созданной вами базы данных. мой был test_database.
  • Создайте новую папку в другом месте, называемую C:\xampp\mysql\data\mysql\backuptablespace
  • Перетащите (не удаляйте) папку таблицы поврежденных баз данных в каталог резервного копирования.
  • Попробуйте снова запустить mysql. Для меня это началось прямо через 1 секунду, как и ожидалось.

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

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

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

  • Сделайте клон всего C:\xampp\ и сохраните его где-нибудь в безопасности, чтобы вы могли вернуться туда, где вы начали.
  • Используйте метод "двоичного поиска", чтобы попытаться найти поврежденный элемент в базе данных mysql. Это может быть файл, или таблица, или база данных, или пользователь или что-то еще.
  • Удалить всю базу данных и посмотреть, позволяет ли она запускать mysql. Если это так, верните базу данных и попробуйте удалить некоторые из таблиц. Если это не так, попробуйте вытащить что-то еще, пока оно не начнется.
  • Попробуйте удалить эти файлы с C:\xampp\mysql\data\mysql: db.frm db.MRD db.MYI db.opt user.frm user.MYD user.MYI

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

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

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

Ответ 6

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

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

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

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

Ответ 7

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

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

Ответ 8

Вот что я сделал. Я перезапустил компьютер. Затем я запустил services.msc. Я остановил службу MySQL, а затем перезапустил ее. Перезапустил сервер Xampp.

Ответ 9

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

port= 3306

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

port= 8111

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

Ответ 10

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

Ответ 11

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

Ответ 12

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

Ответ 13

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

Ответ 14

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

Ответ 15

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

  1. Перейдите к mysql/data/
  2. Переименуйте aria_log_control в aria_log_control_old
  3. Перезапустить "Мыкль"

Ответ 16

Я прокомментирую этот оператор в mysql/bin/my.ini

'innodb_additional_mem_pool_size=2M'

и он решает мою проблему. чем вы каждый

Ответ 17

Для этого вам нужно щелкнуть по опции x в разделе "Службы модулей" и установить службы MYSQL. Затем запустите службы. Здесь вы идете.

Ответ 18

Никакое решение выше не работало для меня. затем я сделал следующее:

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

Ответ 19

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

Ответ 20

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

Ответ 21

Это означает, что у вас уже есть база данных MySQL, работающая на порту 3306.

На панели управления XAMPP нажмите кнопку "Config" и после этого нажмите "my.ini". После этого нажмите Ctrl-F и найдите "3306". Замените любой "3306", который вы найдете, на другой номер порта по вашему выбору (вы можете выбрать 3307 или 3308 - я выбрал 2811, и это сработало).

После того, как вы заменили каждое место, где написано "3306", сохраните файл и снова нажмите "Пуск" на панели управления.

Ответ 22

Переименуйте ниже файлы из mysql/data ib_logfile0 ib_logfile1 ibdata1

my.cnf innodb_buffer_pool_size до 200M согласно вашему оперативной памяти innodb_log_buffer_size до 32M

Перезагрузите сервер Apache

надеюсь, это поможет вам

Ответ 23

Я решил! деактивируйте UAC с помощью msconfig перед установкой xampp

enter image description here

Ответ 24

Тем более точный ответ и работал на меня !!!! ! Более чистый способ устранения ущерба - вернуть всю папку /mysql/data/. В Windows встроена поддержка версий папок - щелкните правой кнопкой мыши на /mysql/data/и выберите "Восстановить предыдущие версии". Затем вы можете удалить текущее содержимое папки и заменить его содержимым более старой версии. как упомянуто выше Райаном Уильямсом.

Ответ 25

Перейти к диспетчеру задач И поиск mysqld и щелкните правой кнопкой мыши и выберите END TASK и обновите XAMPP

Ответ 26

Для меня проблема была в следующем:

Я использовал hibernate мой компьютер вместо выключения из-за масштаба проекта. Я был достаточно ленив, чтобы снова открыть все программы.

Прежде чем попробовать что-либо еще, я рекомендую вам сделать следующие простые вещи. В противном случае вы испортите свой сервер MySQL.

  1. Откройте диспетчер задач и завершите процесс XAMPP.
  2. Перезапустите приложение XAMPP с правами администратора.

Если не работает,

  1. Сохраните все несохраненные программы и перезагрузите компьютер.
  2. Запустите XAMMP от имени администратора.

Также обязательно проверьте 3306 & Порты 5040. Эти два порта необходимы для запуска MySQL с настройками по умолчанию.

Проверьте ответ @Ryan Williams, чтобы узнать, почему хорошо запускать XAMPP от имени администратора.