XAMPP-ошибка: завершение работы MySQL неожиданно
я переустановил XAMPP по какой-то причине, и MySQL не работает, давая следующую ошибку в консоли:
01:56:03 [mysql] Error: MySQL shutdown unexpectedly.
01:56:03 [mysql] This may be due to a blocked port, missing dependencies,
01:56:03 [mysql] improper privileges, a crash, or a shutdown by another method.
01:56:03 [mysql] Check the "/xampp/mysql/data/mysql_error.log" file
01:56:03 [mysql] and the Windows Event Viewer for more clues
при проверке " /xampp / mysql/data / mysql_error.log " файл, который я получаю:
130302 1:48:06 InnoDB: Waiting for the background threads to start
130302 1:48:07 InnoDB: 1.1.8 started; log sequence number 1600324627
130302 1:48:07 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
130302 1:48:07 [Note] - '0.0.0.0' resolves to '0.0.0.0';
130302 1:48:07 [Note] Server socket created on IP: '0.0.0.0'.
130302 1:51:12 [Note] Plugin 'FEDERATED' is disabled.
130302 1:51:12 InnoDB: The InnoDB memory heap is disabled
130302 1:51:12 InnoDB: Mutexes and rw_locks use Windows interlocked functions
130302 1:51:12 InnoDB: Compressed tables use zlib 1.2.3
130302 1:51:12 InnoDB: Initializing buffer pool, size = 16.0M
130302 1:51:12 InnoDB: Completed initialization of buffer pool
130302 1:51:12 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130302 1:51:12 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
130302 1:51:13 InnoDB: Waiting for the background threads to start
130302 1:51:14 InnoDB: 1.1.8 started; log sequence number 1600324627
130302 1:51:14 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
130302 1:51:14 [Note] - '0.0.0.0' resolves to '0.0.0.0';
130302 1:51:14 [Note] Server socket created on IP: '0.0.0.0'.
130302 1:56:01 [Note] Plugin 'FEDERATED' is disabled.
130302 1:56:01 InnoDB: The InnoDB memory heap is disabled
130302 1:56:01 InnoDB: Mutexes and rw_locks use Windows interlocked functions
130302 1:56:01 InnoDB: Compressed tables use zlib 1.2.3
130302 1:56:01 InnoDB: Initializing buffer pool, size = 16.0M
130302 1:56:01 InnoDB: Completed initialization of buffer pool
130302 1:56:01 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130302 1:56:01 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
130302 1:56:02 InnoDB: Waiting for the background threads to start
130302 1:56:03 InnoDB: 1.1.8 started; log sequence number 1600324627
130302 1:56:03 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
130302 1:56:03 [Note] - '0.0.0.0' resolves to '0.0.0.0';
130302 1:56:03 [Note] Server socket created on IP: '0.0.0.0'.
это всего лишь часть журнала, полный немного слишком большой.
помочь?
16 ответов
закройте skype и попробуйте, если skype opne
или
перейдите к установленному xampp/wamp, найдите httpd.conf. Откройте этот файл с помощью textpad / notepad, найдите Listen или 80 , обновление слушает порт 8081 и сохраните файл. Перезапустите xampp / wamp, запустите серверы.
или
выполните следующие действия в Skype
в моем случае, я сделал две вещи:
- двигался
xampp/mysql/backup
файлыxampp/mysql/data
- запустите XAMPP как администратор
это сработало для меня:)
вы должны:
- закройте xampp
- перейдите в папку, где вы ее установили, если в (c:) может быть что-то вроде C:\xampp\, доступ к папке C:\xampp\mysql\data
- удалить файл ibdata1
- снова запускает XAMPP.
может быть сервер MySQL, установленный ранее на вашем компьютере, попробуйте удалить его и запустить MySQL на XAMPP, это решенная шахта
лучшим решением этой проблемы является просто открыть файл MySQL configuration directive мой.ini присутствует внутри папки C:\xampp\mysql\bin и изменить информацию, связанную с портами, как правило, некоторые программы занимают порт нет. 3306 в результате этого он перестает работать, Теперь вы выполните два шага, чтобы заставить его работать.
enter code here
Step-1. Search for ['client'], you can see some thing like this
[client]
# password = your_password
port = 3306
socket = "C:/xampp/mysql/mysql.sock"
Now in the port section remove 3306 and add port = 3306 > 3307 as shown below.
[client]
# password = your_password
port = 3306 > 3307
socket = "C:/xampp/mysql/mysql.sock"
Step -2. Similarly Search for ['mysqld'], you can see something like this
[mysqld]
port= 3306
socket = "C:/xampp/mysql/mysql.sock"
basedir = "C:/xampp/mysql"
tmpdir = "C:/xampp/tmp"
datadir = "C:/xampp/mysql/data"
pid_file = "mysql.pid"
# enable-named-pipe
key_buffer = 16M
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 = 8M
log_error = "mysql_error.log"
Now here change the port number 3306 to 3307 and add a line "innodb_force_recovery = 1" exactly as shown below.
[mysqld]
port= 3307
socket = "C:/xampp/mysql/mysql.sock"
basedir = "C:/xampp/mysql"
tmpdir = "C:/xampp/tmp"
datadir = "C:/xampp/mysql/data"
pid_file = "mysql.pid"
# enable-named-pipe
key_buffer = 16M
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 = 8M
log_error = "mysql_error.log"
innodb_force_recovery = 1
вот так, перезапустите службу mysql, она будет работать наверняка.
одна из причин, которую я нашел (и не упомянул в дополнение к другим ответам, данным на этом сайте по аналогичной проблеме), заключалась в том, что я пошел в Диспетчер задач в windows и остановил mysqld, который уже работал и предотвратил запуск сервера mysql.
для тех, кто искал и нажимал на эту ссылку, я решил ее, просто ища MySQL notifier и остановив mysql от запуска там, затем снова запустите mysql в xampp, и он запускается. почему это работает ? я не эксперт, но я думаю, что это легко : порт был взят уже MySQL notifier, поэтому пришлось остановить его там и запустить его здесь.
Я новичок в XAMPP, но я считаю, что комбинация этих предложений работает лучше всего (по крайней мере, в Windows 8.1 с последней версией XAMPP. Обратите внимание, что на компьютере, на котором я тестировал это, также был skype).
первый вход в skype и перейдите к " Tools
далее на панели управления XAMPP нажмите " config
кроме того, вам нужно будет перейти к XAMPP
$cfg ['Servers'] [$i] ['host'] = '127.0.0.1';
вам нужно будет добавить "3307" следующим образом:
$cfg ['Servers'] [$i] ['host'] = '127.0.0.1:3307';
теперь откройте браузер, и вы увидите страницу xampp при вводе "локальный хост." Кроме того, если вы впервые используете xampp, вы можете увидеть предупреждение об отсутствии пароля (выделено розовым цветом) на странице localhost/phpmyadmin/. Это легко исправить, Перейдя на вкладку " Учетные записи пользователей "в phpmyadmin, нажав" редактировать привилегии " и введя пароль. Не забудьте сохранить хэшированную версию любого и всех паролей, которые вы создаете, поскольку мы будем использовать это дальше! - Я открыл блокнот и сохранил (и пронумеровал) их. Обратите внимание, что phpMyadmin уведомит вас о том, когда вы меняете пароль для текущего сеанса (это будет отображаться в верхней части страницы phpMyadmin и очень важно, так как вам понадобится конкретная хэшированная версия вашего пароля).
Далее вам нужно будет перейти к следующему местоположению " xampp
и, это должно сделать это.
в моем случае : Я только что заменил
....xampp/mysql/backup files
на
**xampp/mysql/data**
это сработало для меня.
Если Apache работает без каких-либо проблем , и u найти некоторые блокировки по параметрам безопасности системы , просто разрешить его вместо блокировки или закрытия диалогового окна. И измените номер порта для MySQL на 3607, как это было до 3606 . У меня получилось .
Если вы inistalled mysql независимо вы можете остановить службу mysql при запуске ни один из этих ответов не работал для меня эта работа для меня
Это сработало для меня,
- выйти из XAMPP
- вырезать все файлы в C:\xampp\mysql\backup
- вставить и заменить файлы в C:\xampp\mysql\data
- Запуск от имени администратора XAMPP
Ну, во-первых, я знаю, что это поздно, поэтому я не знаю, будет ли кто-нибудь его голосовать, но о, хорошо, все в порядке,, во-вторых, удаление xampp может не принести вам никакой пользы, потому что процесс с использованием порта 3306 (ПОРТ По умолчанию Mysql) все еще будет работать где-то в вашей системе. может быть skype, но может и не skype.
Так что лучшим способом было бы узнать, какой процесс использует порт 3306, а затем завершить процесс.
Итак, чтобы выяснить, какой процесс использует порт 3306, откройте командную строку и введите
netstat -n -o -a
вы получите экран, как этого.
затем найдите адрес с номером порта 3306 и узнайте PID, соответствующий этому.
затем просто откройте командную строку в качестве администратора и введите
taskkill /F /PID 1234
замените 1234 на соответствующий PID. Затем вы можете попробовать запустить MySQL и он будет работать.
и теперь, если вы ленивы, чтобы сделать этот шаг снова и снова при перезагрузке компьютера,,,
вы можете просто использовать следующий пакетный скрипт для автоматического завершения процесса и наслаждаться:)
@echo off
setlocal enableextensions
set "port=3306"
for /f "tokens=1,4,5" %%a in (
'netstat -aon ^| findstr /r /c:"[TU][CD]P[^[]*\[::\]:%port%"'
) do if "%%a"=="UDP" (taskkill /F /PID %%b) else (taskkill /f /PID %%c)
endlocal
pause
сохранить как угодно.bat и запускайте его каждый раз, когда вы хотите использовать mysql. :)
истинный путь-это перенастроить приложение.с настройкой в MySQL .вы можете снова открыть настройки и изменить порт с 3306 на 3307.