Ответ 1
Эй, я просто сделал это, и это сработало:
- выйти из сервера Xampp
- перейдите в каталог
C:\xampp\mysql\data
- удалите файл
ibdata1
- перезапустить сервер xampp
Он должен работать
Когда я открываю 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 продолжать восстановление после аварии здесь.
В чем причина этих ошибок и как их исправить?
Эй, я просто сделал это, и это сработало:
C:\xampp\mysql\data
ibdata1
Он должен работать
Он должен исправить это.
Мой 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
Добавьте следующую строку ниже раздела [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.
Вы можете сбить повреждающую базу данных, эти шаги устраняют проблему:
C:\xampp\mysql\data
test_database
.C:\xampp\mysql\data\mysql\backuptablespace
Если это не сработает, верните файл туда, где вы начали, и вы вернетесь туда, где вы начали.
Если вы не хотите удалять базу данных и не имеете резервных копий:
Если у вас нет резервных копий данных таблицы, и mysql не запускается, потому что что-то повреждено, вам придется использовать процесс устранения, чтобы угадать и проверить свой путь к тому, что вы сделали, что испортило его. Выполните следующие действия:
C:\xampp\
и сохраните его где-нибудь в безопасности, чтобы вы могли вернуться туда, где вы начали.Попробуйте удалить эти файлы с C:\xampp\mysql\data\mysql
:
db.frm
db.MRD
db.MYI
db.opt
user.frm
user.MYD
user.MYI
Когда вы запустите 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. Возможно, для запуска приложения может быть запущен как администратор.
Надеюсь, что это сработает!
Вот что я сделал. Я перезапустил компьютер. Затем я запустил services.msc. Я остановил службу MySQL, а затем перезапустил ее. Перезапустил сервер Xampp.
я столкнулся с одной проблемой, и ни одно из вышеперечисленных решений не помогло мне. я перешел в конфигурационный файл mysql (my.ini) и изменил номер порта в [mysqld]. По умолчанию mysql работает на порте 3306.
port= 3306
я изменил его,
port= 8111
Затем запустите как Administrator.Наконец это сработало для меня.
Ребята просто убедитесь, что у вас нет сервера MySql. Поскольку у меня установлен сервер MySql, и когда я запускаю mysql из панели управления xampp, происходят некоторые конфликты портов и их не работает. SO перед запуском mysql с панели управления xampp убедитесь, что сервер mysql не установлен. Я использую.net, поэтому я установил сервер mysql в прошлом. Деинсталляция этой проблемы решила мою проблему....
Config- > Apache- > Откройте httpd.conf. выполните поиск Listen или 80, обновите порт прослушивания до сервера сохранения и перезагрузки 8081. Oh и shutdown Skype, если у вас есть.
В моем случае, когда я синхронизировал свои данные mysql и htdocs с Dropbox, мне просто нужно было удалить конфликтующие файлы в папке mysql/data и вложенных папках. Конфликтные файлы могут быть идентифицированы по его именам, dropbox сообщит вам об этом. Он решил проблему для меня.
Для меня я ушел из Skype, который занимал порт 80, а затем Apache успешно работал на порту 80, а затем я запустил Skype, и на этот раз он выбрал другой порт.
Убедитесь, что системное время верное. Шахта была установлена на 2040 год как-то, исправляя дату решения проблемы.
если вы используете MariaDB, вы можете попробовать следующее:
Я прокомментирую этот оператор в mysql/bin/my.ini
'innodb_additional_mem_pool_size=2M'
и он решает мою проблему. чем вы каждый
Для этого вам нужно щелкнуть по опции x в разделе "Службы модулей" и установить службы MYSQL. Затем запустите службы. Здесь вы идете.
Никакое решение выше не работало для меня. затем я сделал следующее:
Я удалил все файлы внутри каталога C:\xampp\mysql\data \, кроме папок в этом каталоге. Он работал отлично, но мои предыдущие базы данных сейчас не работают. Так что сделайте выше, если вам все равно, он удалит все ваши предыдущие базы данных в phpmyadmin.
Если сообщение об ошибке "mysql.exe перестало работать". Просто запустите xampp-control.exe, как только администратор решит вашу проблему мгновенно.
Если какое-либо из вышеперечисленных действий не работает, сделайте обратно каталог Xampp и переустановите Xampp. Это действительно работает!
Это означает, что у вас уже есть база данных MySQL, работающая на порту 3306.
На панели управления XAMPP нажмите кнопку "Config" и после этого нажмите "my.ini". После этого нажмите Ctrl-F и найдите "3306". Замените любой "3306", который вы найдете, на другой номер порта по вашему выбору (вы можете выбрать 3307 или 3308 - я выбрал 2811, и это сработало).
После того, как вы заменили каждое место, где написано "3306", сохраните файл и снова нажмите "Пуск" на панели управления.
Переименуйте ниже файлы из mysql/data ib_logfile0 ib_logfile1 ibdata1
my.cnf innodb_buffer_pool_size до 200M согласно вашему оперативной памяти innodb_log_buffer_size до 32M
Перезагрузите сервер Apache
надеюсь, это поможет вам
Я решил! деактивируйте UAC с помощью msconfig перед установкой xampp
Тем более точный ответ и работал на меня !!!! ! Более чистый способ устранения ущерба - вернуть всю папку /mysql/data/. В Windows встроена поддержка версий папок - щелкните правой кнопкой мыши на /mysql/data/и выберите "Восстановить предыдущие версии". Затем вы можете удалить текущее содержимое папки и заменить его содержимым более старой версии. как упомянуто выше Райаном Уильямсом.
Перейти к диспетчеру задач И поиск mysqld и щелкните правой кнопкой мыши и выберите END TASK и обновите XAMPP
Для меня проблема была в следующем:
Я использовал hibernate
мой компьютер вместо выключения из-за масштаба проекта. Я был достаточно ленив, чтобы снова открыть все программы.
Прежде чем попробовать что-либо еще, я рекомендую вам сделать следующие простые вещи. В противном случае вы испортите свой сервер MySQL.
Если не работает,
Также обязательно проверьте 3306
& Порты 5040
. Эти два порта необходимы для запуска MySQL с настройками по умолчанию.
Проверьте ответ @Ryan Williams, чтобы узнать, почему хорошо запускать XAMPP от имени администратора.