Ошибка: Неожиданное завершение работы MySQL

Вопрос или проблема

Первым делом проверьте журнал ошибок MySQL

  • Я перешел в директорию “data” в базе данных mysql

  • Я переименовал папку “data” в “data-old” и создал другую папку с именем “data” в том же пути. Затем я удалил содержимое “data-old” и перешел в папку “backup”. Я не нашел никаких файлов.

Затем я открыл корзину и обнаружил все данные, которые я удалил, и восстановил папку “data”, запустил xampp, но проблема осталась.

  • Затем я изменил порт с 3306 на 3307 в файле my.ini и запустил apache и mysql, но проблема с mysql осталась.

  • Затем я нашел команду для решения проблемы:

C:\xampp ❯ .\setup_xampp.bat
################################# НАЧАТЬ РАЗДЕЛ ТЕСТИРОВАНИЯ XAMPP #################################
[XAMPP]: Тестируем php.exe с помощью php\php.exe -n -d output_buffering=0 --version ...
PHP 8.2.12 (cli) (built: Oct 24 2023 21:15:15) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
[XAMPP]: Тест php.exe успешно пройден. Отлично!
################################# КОНЕЦ РАЗДЕЛА ТЕСТИРОВАНИЯ XAMPP ###################################

  ########################################################################
  # Установка ApacheFriends XAMPP для win32                              #
  #----------------------------------------------------------------------#
  # Copyright (c) 2002-2025 Apachefriends 8.2.12
                          #
  #----------------------------------------------------------------------#
  # Авторы: Kay Vogelgesang <[email protected]>     #
  #          Carsten Wiedmann <[email protected]> #
  ########################################################################

 Извините, но ... ничего делать не нужно!

Нажмите любую клавишу, чтобы продолжить ...
C:\xampp ❯

Я запустил xampp, но ничего не изменилось.

Пожалуйста, если у вас есть идеи по решению проблемы, сообщите мне.

mysql_error.log:


2025-01-27 20:36:54 0 [ОШИБКА] InnoDB: Ошибка операционной системы номер 2 при файловой операции.
2025-01-27 20:36:54 0 [Примечание] InnoDB: Некоторые коды ошибок операционной системы описаны по адресу https://mariadb.com/kb/en/library/operating-system-error-codes/
2025-01-27 20:36:54 0 [ОШИБКА] InnoDB: Не удается открыть файл данных для чтения: '.\phpmyadmin\pma__central_columns.ibd' Ошибка ОС: 71
2025-01-27 20:36:54 0 [ОШИБКА] InnoDB: Ошибка операционной системы номер 203 при файловой операции.
2025-01-27 20:36:54 0 [Примечание] InnoDB: Некоторые коды ошибок операционной системы описаны по адресу https://mariadb.com/kb/en/library/operating-system-error-codes/
2025-01-27 20:36:54 0 [ОШИБКА] InnoDB: Не удалось найти действительный файл табличного пространства для ``phpmyadmin`.`pma__central_columns``. Пожалуйста, обратитесь к https://mariadb.com/kb/en/innodb-data-dictionary-troubleshooting/ чтобы решить проблему.

2025-01-28 12:46:41 0 [Примечание] InnoDB: 128 из 128 сегментов отката активны.
2025-01-28 12:46:41 0 [Примечание] InnoDB: Создание общего табличного пространства для временных таблиц
2025-01-28 12:46:41 0 [Примечание] InnoDB: Установка файла 'C:\xampp\mysql\data\ibtmp1' размером в 12 МБ. Происходит полная запись файла; Пожалуйста, подождите ...
2025-01-28 12:46:41 0 [Примечание] InnoDB: Размер файла 'C:\xampp\mysql\data\ibtmp1' теперь составляет 12 МБ.
2025-01-28 12:46:41 0 [Примечание] InnoDB: Ожидание начала очистки
2025-01-28 12:46:41 0 [Примечание] InnoDB: Версия 10.4.32 запущена; номер последовательности журнала 747295; идентификатор транзакции 1392
2025-01-28 12:46:41 0 [Примечание] InnoDB: Загрузка пула буферов из C:\xampp\mysql\data\ib_buffer_pool
2025-01-28 12:46:41 0 [Примечание] Плагин 'FEEDBACK' отключен.
2025-01-28 12:46:41 0 [Примечание] InnoDB: Загрузка пула буферов завершена в 250128 12:46:41
2025-01-28 12:46:41 0 [ОШИБКА] Не удалось открыть таблицу mysql.plugin. Некоторые плагины могут не загрузиться
2025-01-28 12:46:41 0 [ОШИБКА] Не удается открыть и заблокировать таблицы привилегий: Таблица 'mysql.servers' не существует
2025-01-28 12:46:41 0 [Примечание] Сокет сервера создан на IP: '::'.

Ответ или решение

Ошибка "Ошибка: MySQL shutdown unexpectedly" встречается довольно часто и может вызывать серьезные затруднения. Разбор проблемы требует четкого понимания теоретической базы, анализа конкретных симптомов и примеров, а также применения соответствующих решений.

Теория

MySQL – это система управления реляционными базами данных (СУБД), которая используется для хранения и управления данными в многочисленных приложениях. Когда MySQL неожиданно завершается, это часто связано с проблемами конфигурации, повреждением данных или несовместимостью с другими сервисами. Самая распространенная причина – это повреждение файлов данных или конфигурационные проблемы, такие как ошибки в файлах my.ini или несовместимости с портами.

Пример

Вы описали процесс, который включает в себя диагностику и попытку разрешения проблемы. Во-первых, вы проверили журналы ошибок MySQL, что является важным шагом. Журнал ошибок указал на несколько проблем, связанных с файлами данных InnoDB, включая недоступность определенных файлов и проблемы с доступом к некоторым таблицам. Далее, вы пытались изменить порт на 3307 для MySQL, чтобы исключить конфликт портов, однако это не решило проблему. В итоге, выполнение команды setup_xampp.bat тоже не привело к положительному результату.

Применение

Решение вашей проблемы может включать несколько шагов:

  1. Проверка и восстановление данных: Поскольку ошибки связаны с недостающими или поврежденными данными, во-первых, необходимо убедиться, что все файлы базы данных на месте и не повреждены. Попробуйте восстановить данные из последнего резерва, если это возможно.

  2. Журнал ошибок: Обратите внимание на конкретные ошибки в журнале ошибок. Ошибка "Operating system error number 2" обычно означает, что система не может найти указанный файл или директорию. Убедитесь, что путь к файлам баз данных правильный и доступен.

  3. Удаление коррумпированных данных: Из ошибок видно, что InnoDB не может открыть определенные файлы. Попробуйте временно переместить поврежденные или подозрительные файлы в другой каталог и перезапустить MySQL. Это может помочь определить, связаны ли ошибки с конкретными таблицами.

  4. Конфигурация MySQL: Проверьте файл конфигурации my.ini. Убедитесь, что все пути (например, пути к datadir) указаны правильно и соответствуют вашей операционной системе.

  5. Проверка портов: Убедитесь, что порт, который вы хотите использовать (3306 или 3307), не занят другим процессом. Используйте команду netstat -a -n -o в командной строке для проверки текущих соединений и занятого порта.

  6. Перезапуск службы: После внесения изменений попробуйте полностью остановить все службы XAMPP (Apache и MySQL) и затем перезапустите их.

  7. Обновление XAMPP и MySQL: Если указанное выше не помогает, рассмотрите возможность обновления до последней версии как XAMPP, так и MySQL, так как более новая версия может исправлять существующие ошибки.

  8. Дополнительная диагностика: Если после выполнения всех шагов проблема остается, воспользуйтесь специализированными инструментами диагностики или обратитесь к технической поддержке MySQL для дополнительного анализа.

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

Оцените материал
Добавить комментарий

Капча загружается...