Ошибка: MySQL неожиданно завершил работу. XAMPP локальная конфигурация работает с WordPress.

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

У меня локально настроен XAMPP для работы с WordPress. Я, вероятно, что-то не так сделал, когда исправлял некоторые проблемы, потому в конце концов я застрял с следующим логом от базы данных MySQL.

2015-11-10 15:26:56 10fc InnoDB: Предупреждение: Использование innodb_additional_mem_pool_size является УСТАРЕВШИМ. Эта опция может быть удалена в будущих версиях, вместе с опцией innodb_use_sys_malloc и с внутренним распределителем памяти InnoDB.
2015-11-10 15:26:56 4348 [Примечание] InnoDB: Использование мьютексов для подсчета ссылок на страницы пула буферов
2015-11-10 15:26:56 4348 [Примечание] InnoDB: Куча памяти InnoDB отключена
2015-11-10 15:26:56 4348 [Примечание] InnoDB: Мьютексы и rw_locks используют функции Windows interlocked
2015-11-10 15:26:56 4348 [Примечание] InnoDB: Памятный барьер не используется
2015-11-10 15:26:56 4348 [Примечание] InnoDB: Сжатые таблицы используют zlib 1.2.3
2015-11-10 15:26:56 4348 [Примечание] InnoDB: Не используются инструкции CPU crc32
2015-11-10 15:26:56 4348 [Примечание] InnoDB: Инициализация пула буферов, размер = 16.0M
2015-11-10 15:26:56 4348 [Примечание] InnoDB: Завершена инициализация пула буферов
2015-11-10 15:26:56 4348 [Примечание] InnoDB: Максимально поддерживаемый формат файла - Barracuda.
2015-11-10 15:26:57 4348 [Примечание] InnoDB: 128 сегментов отката активны.
2015-11-10 15:26:57 4348 [Примечание] InnoDB: Ожидание начала очистки
2015-11-10 15:26:57 4348 [Примечание] InnoDB: Перкона XtraDB (http://www.percona.com) 5.6.26-74.0 запущена; номер последовательности лога 1835027
2015-11-10 15:26:57 6140 [Примечание] InnoDB: Сброс пула буферов еще не начат
2015-11-10 15:26:57 4348 [Примечание] Плагин 'FEEDBACK' отключен.
2015-11-10 15:26:57 4348 [Примечание] Указатель сервера создан на IP: '::'.
2015-11-10 15:26:57 4348 [Примечание] Планировщик событий: Загружено 0 событий
2015-11-10 15:26:57 4348 [Примечание] C:\xampp\mysql\bin\mysqld.exe: готов к подключениям.
Версия: '10.1.8-MariaDB'  сокет: ''  порт: 3306  бинарное распределение mariadb.org
2015-11-10 15:27:11 5152 [Примечание] C:\xampp\mysql\bin\mysqld.exe: Нормальное завершение работы
--------

2018-07-19 21:28:34 568 InnoDB: Предупреждение: Использование innodb_additional_mem_pool_size является УСТАРЕВШИМ. Эта опция может быть удалена в будущих версиях, вместе с опцией innodb_use_sys_malloc и с внутренним распределителем памяти InnoDB.
2018-07-19 21:28:34 1384 [Примечание] InnoDB: Использование мьютексов для подсчета ссылок на страницы пула буферов
2018-07-19 21:28:34 1384 [Примечание] InnoDB: Куча памяти InnoDB отключена
2018-07-19 21:28:34 1384 [Примечание] InnoDB: Мьютексы и rw_locks используют функции Windows interlocked
2018-07-19 21:28:34 1384 [Примечание] InnoDB: _mm_lfence() и _mm_sfence() используются для памяти барьер
2018-07-19 21:28:34 1384 [Примечание] InnoDB: Сжатые таблицы используют zlib 1.2.3
2018-07-19 21:28:34 1384 [Примечание] InnoDB: Используются стандартные инструкции crc32
2018-07-19 21:28:34 1384 [Примечание] InnoDB: Инициализация пула буферов, размер = 2.0G
2018-07-19 21:28:34 1384 [Примечание] InnoDB: Завершена инициализация пула буферов
2018-07-19 21:28:34 1384 [Примечание] InnoDB: Максимально поддерживаемый формат файла - Barracuda.
2018-07-19 21:28:34 1384 [Примечание] InnoDB: Номер последовательности лога 0 в файле ibdata не соответствует номеру последовательности лога 49463 в ib_logfiles!
2018-07-19 21:28:34 1384 [Примечание] InnoDB: Восстановление возможных полустрок данных из буфера двойной записи...
2018-07-19 21:28:34 1384 [Примечание] InnoDB: Создание пространственной таблицы и системных таблиц данных.
2018-07-19 21:28:35 1384 [Примечание] InnoDB: Пространственная таблица и системные таблицы данных созданы.
2018-07-19 21:28:35 1384 [Предупреждение] InnoDB: Изменение размера redo лога с 2*320 на 2*16384 страниц, LSN=53524
2018-07-19 21:28:35 1384 [Предупреждение] InnoDB: Начало удаления и переписывания файлов лога.
2018-07-19 21:28:35 1384 [Примечание] InnoDB: Установка размера файла лога D:\xampp\mysql\data\ib_logfile101 на 256 МБ
2018-07-19 21:28:35 1384 [Примечание] InnoDB: Установка размера файла лога D:\xampp\mysql\data\ib_logfile1 на 256 МБ
2018-07-19 21:28:35 1384 [Примечание] InnoDB: Переименование файла лога D:\xampp\mysql\data\ib_logfile101 в D:\xampp\mysql\data\ib_logfile0
2018-07-19 21:28:35 1384 [Предупреждение] InnoDB: Новые файлы лога созданы, LSN=53772
2018-07-19 21:28:35 1384 [Примечание] InnoDB: 1 сегмент отката активен.
2018-07-19 21:28:35 1384 [Ошибка] InnoDB: Инициализация плагина прервана в D:\win32-packages\build\src\storage\xtradb\srv\srv0start.cc [2969] с ошибкой Общая ошибка.
2018-07-19 21:28:35 1384 [Ошибка] Функция инициализации плагина 'InnoDB' вернула ошибку.
2018-07-19 21:28:35 1384 [Ошибка] Регистрация плагина 'InnoDB' как ХРАНИЛИЩА не удалась.
2018-07-19 21:28:35 1384 [Примечание] Плагин 'FEEDBACK' отключен.
2018-07-19 21:28:35 1384 [Ошибка] Неизвестный/нес-supported хранилище: InnoDB
2018-07-19 21:28:35 1384 [Ошибка] Прерывание

Этот парень, похоже, повторяется несколько раз – я знаю, это специфично. Я почти знаю это как поэзию, но все же не могу найти решение. Я попробовал несколько методов, найденных в Интернете, некоторые из них:

*удаление ib_logfile0 и ib_logfile1
*увеличение размера пула буферов InnoDB
*удаление ‘sys_malloc’ из конфигурации базы данных

Ниже я вставлю файл my.ini моего сервера sql.

    # Пример конфигурационного файла MySQL для маленьких систем.
#
# Это для системы с небольшим объемом памяти (<= 64M), где MySQL используется
# время от времени, и важно, чтобы демон mysqld
# не использовал много ресурсов.
#
# Вы можете скопировать этот файл в
# D:/xampp/mysql/bin/my.cnf для установки глобальных опций,
# mysql-data-dir/my.cnf для установки специфических для сервера опций (в этом
# установке этот каталог находится D:/xampp/mysql/data) или
# ~/.my.cnf для установки специфических для пользователя опций.
#
# В этом файле вы можете использовать все длинные опции, которые поддерживает программа.
# Если вы хотите знать, какие опции поддерживает программа, запустите программу
# с помощью опции "--help".

# Следующие опции будут переданы всем клиентам MySQL
[client] 
# пароль       = ваш_пароль 
port            = 3306 
socket          = "D:/xampp/mysql/mysql.sock"

# Здесь следуют записи для некоторых специфических программ 

# Сервер MySQL
[mysqld]
innodb_force_recovery = 4
port= 3306
socket = "D:/xampp/mysql/mysql.sock"
basedir = "D:/xampp/mysql" 
tmpdir = "D:/xampp/tmp" 
datadir = "D:/xampp/mysql/data"
pid_file = "mysql.pid"
# включить именованный канал
key_buffer = 20M
max_allowed_packet = 1M
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 20M
log_error = "mysql_error.log"
innodb_use_sys_malloc = 1

# Измените здесь для привязки прослушивания
# bind-address="127.0.0.1" 
# bind-address = ::1          # для ipv6

# Где живут все плагины
plugin_dir = "D:/xampp/mysql/lib/plugin/" 

# Не слушать на TCP/IP порту вообще. Это может быть улучшением безопасности,
# если все процессы, которым нужно подключиться к mysqld, работают на том же хосте.
# Все взаимодействия с mysqld должны происходить через Unix-сокеты или именованные каналы.
# Обратите внимание, что использование этой опции без включения именованных каналов в Windows
# (через опцию "enable-named-pipe") сделает mysqld бесполезным!
# 
# закомментировано безопасностью lampp
#skip-networking
#skip-federated

# Репликация Мастер-сервер (по умолчанию)
# бинарное логирование требуется для репликации
# log-bin отключен по умолчанию с момента XAMPP 1.4.11
#log-bin=mysql-bin

# требуется уникальный идентификатор между 1 и 2^32 - 1
# по умолчанию равен 1, если master-host не установлен
# но не будет функционировать как мастер, если опущен
server-id   = 1

# Репликация Рабы (закомментируйте раздел мастер, чтобы использовать это)
#
# Чтобы настроить этот хост как репликационного раба, вы можете выбрать один из
# двух методов :
#
# 1) Используйте команду CHANGE MASTER TO (полностью описана в нашем справочнике) -
#    синтаксис:
#
#    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
#    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
#
#    где вы заменяете <host>, <user>, <password> на строки в кавычках и
#    <port> на номер порта мастера (по умолчанию 3306).
#
#    Пример:
#
#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
#    MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# ИЛИ
#
# 2) Установите переменные ниже. Однако, если вы выберете этот метод, то
#    начните репликацию в первый раз (даже безуспешно, например,
#    если вы неправильно ввели пароль в master-password, и раб не смог
#    подключиться), раб создаст файл master.info, и любое дальнейшее
#    изменение в этом файле значений переменных ниже будет проигнорировано и
#    переопределено содержимым файла master.info, если вы не завершите
#    работу сервера раба, не удалив master.info и не перезапустив сервер раба.
#    По этой причине вы можете оставить строки ниже нетронутыми
#    (закомментированными) и вместо этого использовать CHANGE MASTER TO (см. выше)
#
# требуется уникальный идентификатор между 2 и 2^32 - 1
# (и отличающийся от мастера)
# по умолчанию равен 2, если master-host установлен
# но не будет функционировать как раб, если опущен
#server-id       = 2
#
# Мастер репликации для этого раба - требуется
#master-host     =   <hostname>
#
# Имя пользователя, которое раб будет использовать для аутентификации при подключении
# к мастеру - требуется
#master-user     =   <username>
#
# Пароль, с которым раб будет аутентифицироваться при подключении к
# мастеру - требуется
#master-password =   <password>
#
# Порт, на котором слушает мастер.
# необязательный - по умолчанию 3306
#master-port     =  <port>
#
# бинарное логирование - не обязательно для рабов, но рекомендуется
#log-bin=mysql-bin

# Укажите следующие пути на разные выделенные диски
#tmpdir = "D:/xampp/tmp"
#log-update = /path-to-dedicated-directory/hostname

# Раскомментируйте следующее, если вы используете таблицы BDB
#bdb_cache_size = 4M
#bdb_max_lock = 10000

# Закомментируйте следующее, если вы используете таблицы InnoDB
#skip-innodb
innodb_data_home_dir = "D:/xampp/mysql/data"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "D:/xampp/mysql/data"
#innodb_log_arch_dir = "D:/xampp/mysql/data"
## Вы можете установить .._buffer_pool_size до 50 - 80 %
## оперативной памяти, но остерегайтесь установить использование памяти слишком высоко
innodb_buffer_pool_size = 200M
innodb_additional_mem_pool_size = 200M
## Установите .._log_file_size на 25 % от размера пула буферов
innodb_log_file_size = 5M
innodb_log_buffer_size = 200M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

## настройки UTF 8
#init-connect=\'SET NAMES utf8\'
#collation_server=utf8_unicode_ci
#character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir="D:/xampp/mysql/share/charsets"

[mysqldump]
quick
max_allowed_packet = 20M

[mysql]
no-auto-rehash
# Удалите следующий символ комментария, если вы не знакомы с SQL
#safe-updates

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

Я довольно новичок в MySQL и пытаюсь все это сделать, даже не изменив ошибку… отстой. И, вероятно, я буду еще больше отстоять, пока не начну разбираться (да, я только что это сказал, чтобы вы, ребята, не могли воспользоваться). Удачи!

Так я подошел к решению проблемы.

Я исправил проблему. Из папки xampp/mysql/backup/ я скопировал все файлы в xampp/mysql/data/. Это решило проблему.

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

Ошибка: MySQL неожиданно завершил работу. XAMPP на локальном конфигурировании для WordPress

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

1. Анализ логов ошибок

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

  • Deprecated Warnings: Уведомление о том, что использование innodb_additional_mem_pool_size устарело. Хотя это не является основной причиной сбоя, стоит учитывать, что устаревшие параметры могут вызвать нежелательные последствия в будущем.

  • Ошибка инициализации InnoDB: Логи показывают, что инициализация плагина InnoDB завершилась ошибкой. Эта ошибка может указывать на несоответствие между логической последовательностью и данными, сохраненными в файлах.

2. Возможные причины ошибки

  • Проблемы с файлами данных: Файлы ib_logfile0 и ib_logfile1, которые отвечают за логи транзакций InnoDB, могут быть повреждены.

  • Настройки памяти: Неверные значения параметров, таких как innodb_buffer_pool_size и innodb_log_file_size, могут приводить к сбоям в работе сервера.

  • Конфликтующие процессы: Другие запущенные службы, использующие порт 3306, могут вызвать конфликт.

3. Рекомендуемые действия

Вот несколько шагов, которые помогут вам устранить данную проблему:

  1. Резервное копирование данных: Перед изменениями всегда создавайте резервные копии всех важных файлов и баз данных.

  2. Удаление логов: Удалите файлы ib_logfile0 и ib_logfile1, затем перезапустите MySQL. Это может помочь в ситуации с поврежденными файлами.

  3. Настройки my.ini: Проанализируйте файл конфигурации my.ini. Убедитесь, что у вас правильные настройки параметров InnoDB.

    • Например, увеличьте innodb_buffer_pool_size согласно объему памяти вашей системы, поскольку это поможет улучшить производительность.
    • Попробуйте отключить innodb_use_sys_malloc, как вы это сделали ранее.
  4. Восстановление из резервной копии: Если у вас есть резервные копии из папки xampp/mysql/backup, скопируйте их обратно в папку xampp/mysql/data/. Это может восстановить неполные или поврежденные записи.

    • Как вы уже упомянули, это помогло решить проблему. В будущем, регулярные резервные копии повысят шансы на быстрое восстановление от сбоев.
  5. Проверка других служб: Убедитесь, что другие приложения не занимают порт, необходимый для MySQL (порт 3306 по умолчанию).

4. Заключение

Работа с MySQL требует внимания к деталям, особенно при локальном конфигурировании под WordPress. Если вы столкнетесь с повторяющимися проблемами, возможно, стоит рассмотреть возможность переустановки XAMPP или MySQL, хотя это крайняя мера. Важно быть осторожным с конфигурациями и часто делать резервные копии.

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

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

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