Xampp не запускается mysql: Не запускается mySQL в xampp, что делать? — Хабр Q&A

XAMPP, не запускается MySQL — Stack Overflow на русском



Задать вопрос


Вопрос задан


Изменён
3 месяца назад


Просмотрен
705 раз

При запуске MySQL в XAMMP происходит следующее:

22:43:48  [mysql]   Attempting to start MySQL app...
22:43:49  [mysql]   Status change detected: running
22:43:58  [mysql]   Status change detected: stopped
22:43:58  [mysql]   Error: MySQL shutdown unexpectedly.
22:43:58  [mysql]   This may be due to a blocked port, missing dependencies, 
22:43:58  [mysql]   improper privileges, a crash, or a shutdown by another method.
22:43:58  [mysql]   Press the Logs button to view error logs and check
22:43:58  [mysql]   the Windows Event Viewer for more clues
22:43:58  [mysql]   If you need more help, copy and post this
22:43:58  [mysql]   entire log window on the forums

Лог mysql_error:

2020-01-04 22:43:50 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2020-01-04 22:43:50 0 [Note] InnoDB: Uses event mutexes
2020-01-04 22:43:50 0 [Note] InnoDB: Compressed tables use zlib 1. 2.11
2020-01-04 22:43:50 0 [Note] InnoDB: Number of pools: 1
2020-01-04 22:43:50 0 [Note] InnoDB: Using SSE2 crc32 instructions
2020-01-04 22:43:50 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M
2020-01-04 22:43:50 0 [Note] InnoDB: Completed initialization of buffer pool
2020-01-04 22:43:50 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2020-01-04 22:43:50 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2020-01-04 22:43:50 0 [Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2020-01-04 22:43:50 0 [Note] InnoDB: File 'C:\xampp\mysql\data\ibtmp1' size is now 12 MB.
2020-01-04 22:43:50 0 [Note] InnoDB: Waiting for purge to start
2020-01-04 22:43:50 0 [Note] InnoDB: 10.4.8 started; log sequence number 113863; transaction id 9
2020-01-04 22:43:50 0 [Note] InnoDB: Loading buffer pool(s) from C:\xampp\mysql\data\ib_buffer_pool
2020-01-04 22:43:50 0 [Note] Plugin 'FEEDBACK' is disabled. 
2020-01-04 22:43:50 0 [Note] InnoDB: Buffer pool(s) load completed at 200104 22:43:50
2020-01-04 22:43:51 0 [Note] Server socket created on IP: '::'.

Из-за чего это появляется и как это исправить? Windows 10.

22:43:58  [mysql]   This may be due to a blocked port, missing dependencies

Возможно у вас закрыт порт (скорее всего 3308), гуглите как открыть порты

Самый простой способ — полностью отключить брандмауэр и сетевую защиту, но я не рекомендую так делать, если будете использовать как реальный сервер свой компьютер







Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации



Почта

Необходима, но никому не показывается




By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.


Не запускается сервер MySQL 5.6 x64 на Windows 7 x64


Вопрос задан


Изменён
4 года 3 месяца назад


Просмотрен
857 раз

Два дня пытался побороть проблему — никак не хочет стартовать сервер MySQL 5.6 x64.

Что имеется:

Windows 7 PRO SP1 x64 (исправно работает)
Apache: 2.4.38 x64 VC15 (исправно работает)
PHP: 7.3.1 x64 Thread Safe VC15 (исправно работает)
MySQL: 5.6.43 x64 (*не запускается служба*)

Что предпринималось *:

  • всевозможные махинации с файлом hosts
  • попытки запустить mysqld.exe со всевозможными ключами через cmd
  • пробовал качать с оф сайта и инсталлер, и zip-архив (ручная установка)
  • удалял остатки от старых версий в папках ProgramData, Appdata, Program Files, а также удалял все следы в ресстре, которые связаны с MySQL
  • устанавливал все версии Visual C++ от 2005 до 2017, как x86, так и x64
  • открывал TCP порт 3306 в брандмауэре, также пробовал вообще отключать брандмауэр
  • отключал Apache (выгружал процесс httpd. exe)

*Ничего не сработало

Что увидел:

  • при попытке запустить MySQL командой mysqld —console я ничего не получаю в ответ из консоли, а служба mysqld.exe не появляется в диспетчере задач
  • при попытке установить MySQL командой mysqld.exe —install «MySQL 5.6″ —defaults-file=»C:\Web\modules\mysql\my.ini» служба «MySQL 5.6» не появляется в списке служб

Итог:

MySQL: 5.6.43 x86 стартует без проблем и в тестовом режиме, и как служба, а x64 версия напрочь отказывается запускаться.

Хочется собрать для себя Apache+PHP+MySQL так, чтобы каждый компонент был x64. Что посоветуете сделать?

  • mysql
  • windows-7
  • apache2.4






2

Может кому пригодится.

После нескольких ночей мучений с запуском MySQL 5.6 x64 я решился и поставил 5.7 x64 — запуск произошёл максимально быстро.

  1. Запустил вновь 5.6 x86.
  2. Сделал экспорт баз данных с помощью HeidiSQL 10. 1 (с параметрами уничтожения и создания баз данных, если таковых не существует).
  3. Через phpMyAdmin обратно импортировать базу данных phpmyadmin не выйдет, поэтому и придётся использовать HeidiSQL под Windows.
  4. Закрыл процесс mysqld *32.
  5. Удалил службу MySQL 5.6.
  6. Удалил папку с MySQL 5.6 x86.
  7. Установил службу от MySQL 5.7 x64.
  8. Запустил службу MySQL 5.7 x64.
  9. Сделал импорт баз данных с помощью HeidiSQL 10.1.
  10. Проверил, всё работает исправно.

Конфиг my.ini:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default_character_set = utf8
port = 3306
socket = "C:/Web/modules/mysql/tmp/mysqlc.sock"
[mysqldump]
default-character-set = utf8
[isamchk]
key_buffer_size = 16M
[mysqld]
### Main variables
port = 3306
basedir = "C:/Web/modules/mysql"
datadir = "C:/Web/modules/mysql/data"
tmpdir = "C:/Web/modules/mysql/tmp"
socket = "C:/Web/modules/mysql/tmp/mysqld. sock"
pid_file = "C:/Web/modules/mysql/tmp/mysqld.pid"
connect_timeout = 10
explicit_defaults_for_timestamp = 1
### Charset variables
character-sets-dir = "C:/Web/modules/mysql/share/charsets"
character-set-server= utf8mb4
init_connect = "SET NAMES utf8mb4"
### Log variables
expire_logs_days = 7
log-error = "C:/Web/modules/mysql/logs/error.log"
#slow_query_log = 1
#slow_query_log_file = "C:/Web/modules/mysql/logs/slow_query.log"
#long_query_time = 2
### Type variables
default-storage-engine = INNODB
default_tmp_storage_engine = InnoDB
skip-external-locking = 1
### Buffer and Cache variables
innodb_autoextend_increment = 8
innodb_buffer_pool_size = 2G
innodb_concurrency_tickets = 200
innodb_data_file_path = ibdata1:10M:autoextend:max:2048M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 100
innodb_log_buffer_size = 8M
innodb_log_file_size = 48M
innodb_log_files_in_group = 2
innodb_old_blocks_time = 0
innodb_open_files = 100
innodb_stats_on_metadata = 1
interactive_timeout = 30
join_buffer_size = 32768
key_buffer_size = 16M
max_allowed_packet = 20M
max_binlog_size = 256M
max_connect_errors = 3
max_connections = 300
max_delayed_threads = 0
max_heap_table_size = 112M
max_user_connections = 100
myisam_sort_buffer_size = 8M
net_buffer_length = 8K
net_read_timeout = 200
optimizer_search_depth = 0
query_cache_limit = 1M
query_cache_size = 256M
query_cache_type = 1
read_buffer_size = 1M
read_rnd_buffer_size = 512K
ssl = false
ssl-ca = "C:/Web/modules/mysql/tmp/cacert. pem"
ssl-cert = "C:/Web/modules/mysql/tmp/server-cert.pem"
ssl-key = "C:/Web/modules/mysql/tmp/server-key.pem"
sync_master_info = 0
sync_relay_log = 0
sync_relay_log_info = 0
table_open_cache = 4096
thread_cache_size = 4
thread_stack = 256K
tmp_table_size = 112M
transaction_isolation = read-committed
user = mysql
wait_timeout = 30

Перед добавлением службы MySQL 5.7 нужно в переменных средах Windows 7 добавить путь к папке с MySQL:

Пуск - Компьютер - Свойства - Дополнительные параметры системы - Переменные среды - Переменная Path - C:\Web\modules\mysql\bin; (именно с ; на конце строки)

Батник для регистрации службы MySQL 5.7:

mysqld.exe --install "MySQL 5.7" --defaults-file="C:\Web\modules\mysql\my.ini"
pause







Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации



Почта

Необходима, но никому не показывается




By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.


XAMPP MySQL не запускается в Windows — блог Terresquall

XAMPP — отличный инструмент для веб-разработчиков, которым необходимо размещать веб-сайты локально на своих компьютерах. К сожалению, поскольку он использует порты и службы, которые обычно используются другими приложениями, могут возникать конфликты, в результате чего определенные приложения в XAMPP не могут работать.

В этой статье мы рассмотрим, что вы можете сделать, если служба Apache XAMPP не работает в Windows.

В предыдущей статье мы рассмотрели, как устранять неполадки в ситуациях, когда XAMPP MySQL не работает в macOS. Вы также можете искать решения для устранения неполадок XAMPP Apache для Windows.

  1. Проблема
  2. Возможные причины и способы устранения
    1. Порт 3306 уже используется другим процессом
    2. Изменение порта, используемого XAMPP
    3. Данные MySQL были повреждены
  3. Не удалось получить доступ к phpMyAdmin
  4. Заключение

1.

Проблема

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

MySQL не запускается на XAMPP.

Ниже приведена расшифровка журнала ошибок, отображаемого в XAMPP, когда MySQL не запускается:

 [mysql] Попытка запустить службу MySQL...
[mysql] Обнаружено изменение статуса: работает
[mysql] Обнаружено изменение состояния: остановлено
  [mysql] Ошибка: неожиданное завершение работы MySQL 
[mysql] Это может быть связано с заблокированным портом, отсутствующими зависимостями,
[mysql] неправильные привилегии, сбой или завершение работы другим способом. 

2. Возможные причины и способы устранения

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

а. Порт 3306 используется другим процессом

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

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

Используйте окно Netstat , чтобы проверить, занят ли уже порт 3306.

Чтобы исправить это, вам нужно найти процесс, использующий порт 3306, и завершить его. В приведенном выше примере процесс с именем mysqld.exe использует порт 3306. Чтобы остановить его, мне нужно будет использовать Ctrl + Alt + Удалить , чтобы открыть диспетчер задач , затем найти и завершить процесс mysqld.exe .

Если ваш диспетчер задач не отображает все процессы, нажмите Подробнее в нижней части окна, чтобы открыть полное окно диспетчера задач .

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

  • MySQL Workbench
  • Сервер сообщества MySQL

…или какой-либо другой вариант MySQL, поскольку это одна из немногих программ, использующих порт 3306.

После удаления других программ не забудьте перезагрузить компьютер перед повторной попыткой запустить MySQL.

б. Изменение порта, используемого XAMPP MySQL

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

Несмотря на это, ниже приведены шаги для изменения порта MySQL XAMPP:

  1. В панели управления XAMPP нажмите кнопку Config модуля MySQL.
  2. В появившемся окне выберите my.ini .

Где найти MySQL my.cnf .

  1. Внутри файла перейдите вниз и найдите раздел, содержащий следующую строку: # Сервер MySQL . Под этой строкой вы должны найти номер порта, который по умолчанию говорит: port=3306 .
  2. Переключиться на другой порт. Вы можете использовать любой неиспользуемый порт на вашем компьютере от 1 до 65535, но я обычно использую порт 3307.
  3. Сохраните изменения в файле и попробуйте снова запустить MySQL на XAMPP.

Статья продолжается после рекламы:


Ниже приведен снимок моего файла my.cnf с выделенной частью, которую необходимо изменить:

my.cnf
 # Пример файла конфигурации MySQL для небольших систем. 
#
# Это для системы с небольшим объемом памяти (<= 64M), где используется только MySQL
# время от времени, и важно, чтобы демон mysqld
# не использует много ресурсов.
#
# Вы можете скопировать этот файл в
# C:/xampp/mysql/bin/my.cnf для установки глобальных параметров,
# mysql-data-dir/my.cnf для установки специфичных для сервера параметров (в этом
# этот каталог для установки C:/xampp/mysql/data) или
# ~/.my.cnf для установки пользовательских параметров.
#
# В этом файле вы можете использовать все длинные параметры, поддерживаемые программой.
# Если вы хотите узнать, какие опции поддерживает программа, запустите программу
# с опцией "--help".
# Следующие параметры будут переданы всем клиентам MySQL
[клиент]
# пароль = ваш_пароль
порт=3306
сокет = "C:/xampp/mysql/mysql.sock"
# Здесь следуют записи для некоторых конкретных программ
# MySQL-сервер
набор символов по умолчанию = utf8mb4
[mysqld]
порт =  3306   3307 
сокет = "C:/xampp/mysql/mysql.sock"
на основедир="C:/xampp/mysql"
tmpdir="C:/xampp/tmp"
datadir="C:/xampp/mysql/данные"
pid_file="mysql. pid"
# включить именованный канал
key_buffer=16M
max_allowed_packet=1M
sort_buffer_size = 512 КБ
net_buffer_length=8K
read_buffer_size=256K
read_rnd_buffer_size=512K
myisam_sort_buffer_size=8M
log_error="mysql_error.log"
# Изменить здесь для прослушивания привязки
# адрес привязки = "127.0.0.1"
# bind-address = ::1 # для ipv6
# Где живут все плагины
plugin_dir="C:/xampp/mysql/lib/плагин/"
# Вообще не прослушивайте порт TCP/IP. Это может быть повышение безопасности,
# если все процессы, которым необходимо подключиться к mysqld, выполняются на одном хосте.
# Все взаимодействие с mysqld должно осуществляться через сокеты Unix или именованные каналы.
# Обратите внимание, что использование этой опции без включения именованных каналов в Windows
# (через опцию "enable-named-pipe") сделает mysqld бесполезным!
#
# прокомментировал Lampp Security
#скип-нетворкинг
#скип-федерация
# Главный сервер репликации (по умолчанию)
# для репликации требуется ведение двоичного журнала
# log-bin деактивирован по умолчанию, начиная с XAMPP 1. 32 - 1
# по умолчанию 1, если master-host не установлен
# но не будет работать как мастер, если его не указать
идентификатор сервера = 1
# Replication Slave (закомментируйте мастер-секцию, чтобы использовать это)
#
# Чтобы настроить этот хост в качестве подчиненного устройства репликации, вы можете выбрать между
# два метода:
#
#1) Используйте команду CHANGE MASTER TO (полностью описанную в нашем мануале) -
# синтаксис:
#
# ЗАМЕНИТЬ МАСТЕР НА MASTER_HOST=<хост>, MASTER_PORT=<порт>,
# MASTER_USER=<пользователь>, MASTER_PASSWORD=<пароль> ;
#
# где вы заменяете , ,  строками в кавычках и
#  по номеру порта мастера (по умолчанию 3306).
#
#    Пример:
#
# ЗАМЕНИТЬ МАСТЕР НА MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
# MASTER_USER='Джо', MASTER_PASSWORD='секрет';
#
# ИЛИ
#
# 2) Установите переменные ниже. Однако, если вы выберете этот метод, то
# первый раз запускаем репликацию (даже неудачно, например
# если вы неправильно набрали пароль в master-password и ведомому не удалось
# подключение), ведомое устройство создаст файл master. 32 - 1
# (и отличается от мастера)
# по умолчанию 2, если установлен master-host
# но не будет работать как ведомое устройство, если его не указать
#идентификатор_сервера = 2
#
# Мастер репликации для этого слейва - требуется
#master-host = <имя хоста>
#
# Имя пользователя, которое ведомое устройство будет использовать для аутентификации при подключении
# мастеру - обязательно
#master-user = <имя пользователя>
#
# Пароль, с которым ведомое устройство будет аутентифицироваться при подключении к
# мастер - требуется
#мастер-пароль = <пароль>
#
# Порт, который слушает мастер.
# необязательный - по умолчанию 3306
#мастер-порт = <порт>
#
# ведение бинарного журнала - не требуется для слейвов, но рекомендуется
#log-bin=mysql-bin
# Указываем следующие пути к разным выделенным дискам
#tmpdir = "C:/xampp/tmp"
#log-update = /путь к выделенному каталогу/имя хоста
# Раскомментируйте следующее, если вы используете таблицы BDB
#bdb_cache_size = 4M
#bdb_max_lock = 10000
# Прокомментируйте следующее, если вы используете таблицы InnoDB
#скип-innodb
innodb_data_home_dir="C:/xampp/mysql/данные"
innodb_data_file_path=ibdata1:10M:авторасширение
innodb_log_group_home_dir="C:/xampp/mysql/данные"
#innodb_log_arch_dir = "C:/xampp/mysql/данные"
## Вы можете установить . ._buffer_pool_size до 50 - 80 %
## ОЗУ, но будьте осторожны, устанавливая слишком большое использование памяти
innodb_buffer_pool_size=16M
## Установите .._log_file_size равным 25 % от размера буферного пула
innodb_log_file_size=5M
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50
## Настройки UTF 8
#init-connect=\'УСТАНОВИТЬ НАЗВАНИЯ utf8\'
#collation_server=utf8_unicode_ci
#character_set_server=utf8
# skip-character-set-client-рукопожатие
#character_sets-dir="C:/xampp/mysql/share/charsets"
sql_mode = NO_ZERO_IN_DATE, NO_ZERO_DATE, NO_ENGINE_SUBSTITUTION
log_bin_trust_function_creators=1
набор символов-сервер = utf8mb4
сервер сортировки = utf8mb4_general_ci
[mysqldump]
max_allowed_packet=16M
[mysql]
# Удалите следующий символ комментария, если вы не знакомы с SQL
#безопасные-обновления
[исамчк]
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]
 

г.

Данные MySQL были повреждены

Если в какой-то момент на вашем устройстве было установлено несколько копий MySQL или была установлена ​​отдельная установка XAMPP, возможно, данные в вашей текущей установке были повреждены. В таком сценарии вы можете попробовать:

  1. Убедиться, что все другие установки MySQL удалены с вашего компьютера, затем удалить и переустановить XAMPP или;
  2. Восстановление существующей установки MySQL XAMPP с резервными данными.

Если вы хотите попробовать вариант B перед переустановкой XAMPP, выполните следующие действия:

  1. Перейдите в каталог XAMPP MySQL. По умолчанию он находится в папке Local Disk → XAMPP → MySQL (например, если вы установили его на диск C по умолчанию, вы найдете папку в C:\xampp\mysql ). Здесь вы увидите разные папки — нам нужно использовать папки data и backup
  2. .

  3. Переименовать папка data в data_old .
  4. Создайте новую папку с именем data . Это новая папка, которую MySQL будет использовать для замены старой. Теперь нам нужно заполнить эту папку определенными файлами.
  5. Перейдите в папку backup и скопируйте в нее все файлы. Вставьте их в новую папку data .
  6. Теперь нам нужно вставить базы данных в нашу новую папку data . Для этого внутри data_old , скопируйте папку mysQL , а также все папки в папке phpmyadmin . Если у вас есть только одна папка, все в порядке, просто убедитесь, что вы вставили ее. Существует NO необходимо скопировать папки performance_schema и phpmyadmin .
  7. И последнее, но не менее важное: нам нужно скопировать файл ibdata1 . Перейдите в папку data_old , найдите файл ibdata1 и вставьте его в папку data 9.Папка 0109.

3.

Невозможно получить доступ к phpMyAdmin

Также могут быть случаи, когда вы можете запустить MySQL на XAMPP, но не можете получить доступ к URL-адресу http://localhost/phpmyadmin . Это может быть вызвано множеством причин, и мы рассмотрим это в отдельной статье:

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

Как и в случае с другими статьями в блоге, мы будем рады, если вы оставите комментарий ниже, особенно если вы:

  1. Найдите ошибки в этой статье.
  2. Найдите проблему, вызывающую эту проблему, которая не описана в этой статье.

Мы будем периодически загружать эту статью с новыми решениями и проблемами, которые мы находим, и мы будем указывать вам, если вы поделитесь своими проблемами и / или решениями! Ваши комментарии дополнят информацию, которая уже есть здесь, и помогут другим будущим читателям!


Статья продолжается после рекламы:


Как исправить ошибку XAMPP «Неожиданное завершение работы MySQL»

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

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

В этой статье мы объясним, что такое XAMPP и что означает ошибка «Неожиданное завершение работы MySQL». Затем мы познакомим вас с тремя способами, которые вы можете использовать, чтобы исправить это. Давайте приступим!

Введение в XAMPP

XAMPP — это бесплатная среда разработки PHP, которую можно использовать для Windows, macOS или Linux. Это набор программного обеспечения, которое позволяет размещать веб-сайты локально, имитируя функции действующего сервера:

Веб-сайт XAMPP.

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

Вместе с XAMPP вы получаете следующие компоненты:

  • Apache : Возможно, это самое популярное в мире программное обеспечение веб-сервера, которое позволяет размещать сайты.
  • MariaDB : Это программное обеспечение базы данных с открытым исходным кодом позволяет вам управлять базами данных.
  • PHP : WordPress построен на PHP, а это значит, что вам нужно установить PHP для запуска системы управления контентом (CMS).
  • Perl : Хотя WordPress не использует язык программирования Perl, он по умолчанию является частью стека XAMPP.

Помимо настройки программного обеспечения, необходимого для запуска WordPress, XAMPP предоставляет вам простую панель управления:

Панель управления XAMPP.

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

Однако использование локального дистрибутива для разработки не означает, что ваш сервер не подвержен ошибкам. В некоторых случаях программные компоненты могут работать со сбоями, например, с ошибкой XAMPP «Непредвиденное завершение работы MySQL».

Важно

Ищете бесплатный и мощный локальный инструмент разработки WordPress? DevKinsta предлагает быстрое и простое создание сайтов, инструменты управления электронной почтой и базой данных, переключение версий PHP одним щелчком мыши и полную интеграцию с MyKinsta. Начните работу с DevKinsta сегодня, даже если вы не являетесь клиентом Kinsta.

Что такое ошибка XAMPP «Неожиданное завершение работы MySQL»?

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

Ошибка XAMPP «Непредвиденное завершение работы MySQL».

Мы говорим «неожиданно», потому что вы можете вручную закрыть программное обеспечение базы данных MySQL в любой момент. Это также происходит, когда вы перезагружаете сервер.

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

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

Как исправить ошибку XAMPP «Неожиданное завершение работы MySQL» (3 метода)?

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

1. Запустите XAMPP с правами администратора

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

Если вы не уверены, так ли это с вашей настройкой, мы рекомендуем полностью закрыть XAMPP, а затем перезапустить среду от имени администратора. Чтобы сделать это в Windows, найдите папку, в которую вы установили XAMPP, и найдите файл xampp-control . Затем щелкните правой кнопкой мыши этот файл и выберите Запуск от имени администратора :

Запуск XAMPP с правами администратора.

Если вы являетесь пользователем macOS, вы можете щелкнуть папку правой кнопкой мыши и выбрать  Получить информацию . В открывшемся всплывающем окне перейдите в раздел «Общий доступ и разрешения» , щелкните значок замка и введите пароль администратора. Измените настройки разрешений Чтение и запись на Все .

После запуска XAMPP и запуска всех его компонентов MySQL должен работать правильно. Это означает, что ваша база данных будет доступна.

2. Восстановите резервную копию базы данных

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

По умолчанию файлы резервных копий XAMPP MySQL должны иметь номер  Локальный диск >  XAMPP >  MySQL . Внутри этого каталога вы увидите несколько папок, две из которых называются data и backup :

Каталог XAMPP MySQL.

Папка data содержит все файлы, используемые вашей базой данных. Папка backup содержит последнюю копию вашего MySQL.

Важно

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

Вы можете сделать резервную копию, нажав кнопку Stop справа от опции MySQL в главном меню:

Используя панель управления XAMPP.

После остановки MySQL вернитесь в папку XAMPP MySQL и выполните следующие действия, чтобы восстановить резервную копию MySQL:

  1. Сделайте копию папки data .
  2. Переименуйте эту новую копию папки примерно в данные-старые . Это будет ваша резервная копия.
  3. Скопируйте содержимое папки backup в папку data .

Вот оно! Однако, чтобы не рисковать, мы настоятельно рекомендуем вам сохранить папку data-old , пока вы не убедитесь, что все работает правильно.

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

3. Измените свой порт MySQL

Одной из наиболее распространенных причин ошибки XAMPP «Непредвиденное завершение работы MySQL» является другое программное обеспечение, использующее порт, назначенный MySQL. По умолчанию это, как правило, 3306. Чтобы быть уверенным, вы можете выбрать модуль Netstat   на панели управления XAMPP, прямо над инструментом Shell :

Использование инструмента XAMPP Netstat.

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

Проверка активных соединений с помощью Netstat.

Если конфликт с этим портом вызвал завершение работы, восстановление резервной копии или запуск MySQL с правами администратора не будут иметь значения. Единственный способ решить эту проблему — изменить порт, который использует MySQL. Благодаря Netstat вы можете увидеть, что это за порт и какие другие используются.

Для этого остановите службу, используя тот же процесс, который мы показали вам в предыдущем разделе. Далее нажмите кнопку Config рядом с MySQL в главном меню XAMPP, а затем выберите параметр my. ini :

Доступ к файлу конфигурации MySQL.

Файл my.ini содержит параметры конфигурации MySQL. После того, как вы нажмете на нее, XAMPP откроет файл, используя текстовый редактор по умолчанию. Как только вы войдете, найдите строку Port , которая указывает номер порта, который использует MySQL.

Здесь вы можете изменить этот номер порта на другой параметр, который, как вы знаете, не используется другими программами. В большинстве случаев мы рекомендуем использовать 3307, который должен быть доступен. Сохраните изменения и закройте файл my.ini .

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

Резюме

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