База данных MySQL не запускается в XAMPP Manager-osx


96

Я загрузил XAMPP около месяца назад, и он работал нормально. Сегодня я установил программу распознавания голоса, а затем перезагрузил компьютер. С тех пор MySQL не запускается в моем приложении manager-osx. Это не бросает мне в журнал приложений. Вот что написано:

Stopping all servers...
Stopping Apache Web Server...
/Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd stopped
Stopping ProFTPD...
Checking syntax of configuration file
/Applications/XAMPP/xamppfiles/proftpd/scripts/ctl.sh : proftpd stopped
Restarting all servers...
Starting MySQL Database...

Starting Apache Web Server...
/Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd started
Starting ProFTPD...
Checking syntax of configuration file
/Applications/XAMPP/xamppfiles/proftpd/scripts/ctl.sh : proftpd started

И мой ProFTPD, и мой веб-сервер Apache работают. MySQL - нет. Когда я захожу на phpmyadmin, он выдает мне это сообщение об ошибке.

#2002 - No such file or directory
The server is not responding (or the local server's socket is not correctly configured).

Пожалуйста, помогите мне. Я понятия не имею, что делать.

ОБНОВИТЬ:

Немного осмотрев Интернет, я обнаружил аналогичную проблему, с которой столкнулся пользователь с MAMP, другой пользователь рекомендовал убить процесс mysql, что бы это ни значило. Может ли это решить мою проблему?

ОБНОВЛЕНИЕ 2:

Я нашел ответ на свою проблему, но пока не могу на него ответить. Итак, вот ответ:

1) Откройте терминал и введите

sudo su

а затем введите свой пароль

2) Затем введите

ps aux | grep mysql

(просто скопируйте и вставьте это)

3) Вам нужно будет получить идентификатор процесса mysql. Вверху должен быть номер, например 739 или 8827.

4) Убейте процесс, используя

kill -9 {process id}

это должно выглядеть примерно так: kill -9 739

5) Перезапустите MySQL в manager-osx


Когда возникла проблема?
Хаммад Хан

2
Вы также можете перейти к монитору активности в папке утилит и убить там процесс.
evan.stoddard

Я также рекомендовал бы сделать резервную копию папки вашего веб-каталога и переустановить xampp .. Мне это подходит.
evan.stoddard

2
Как вы думаете, что вызвало проблему?
Хаммад Хан

Я установил еще один mysql на свой Mac. Я остановил этот вопрос, и он решил.
Md. Sajedul Karim

Ответы:


166

Это должно работать:
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start


2
Это работает, когда manager-osx не может запустить базу данных mySQL на вашем локальном хосте
Чарльз Вайк-Смит

2
Круто, это работает! Любопытно, однако, почему manager-osx запускает mySQL, и если мне придется запускать sudo /Applications/XAMPP/xamppfiles/bin/mysql.server? Или скрипт manager-osx можно поправить?
auspicious99

7
У меня не получилось: Starting MySQL ..................................................................................................... ERROR! The server quit without updating PID file (/Applications/XAMPP/xamppfiles/var/mysql/gmac.local.pid).
Джеффри Хейл

4
@GeoffreyHale и все, кто сталкивается с этой проблемой: посмотрите свой журнал (/Applications/XAMPP/xamppfiles/var/mysql/YOURNAME.err), и, вероятно, вы обнаружите, что вызвало ошибку. Мой был [ERROR] InnoDB: Unable to lock /Applications/XAMPP/xamppfiles/var/mysql/ibdata1, error: 35и, кроме того, [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.черт возьми! Это было правильно! Завершите процесс mysqld, введите команду benshittu, и она должна работать.
LucaM

У меня это не сработало. Какую версию XAMPP вы используете при этом? Я на 1.8.3-4 из соображений совместимости приложения.
Адриан

88

Минимальное руководство

1. sudo killall mysqld

2. manager-osx> запустить mysql


Если это не сработало ...

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

Погуглите ошибку ...


Примеры:

Ошибка:

ERROR! The server quit without updating PID file (/Applications/XAMPP/xamppfiles/var/mysql/<computername>.local.pid)

Мое решение:

В /Applications/XAMPP/xamppfiles/etc/my.cnfизменении user = <uid>S , что <uid>это uidиз idкоманды.

$ id
uid=...

$ vim /Applications/XAMPP/xamppfiles/etc/my.cnf
...

5
Абсолютно мне помогло. Спасибо.
azwar_akbar

похоже, что "sudo killall mysqld" не ловит все запущенные экземпляры mysql. У меня был mysql, работающий с homebrew, поэтому проверьте "brew services", и если там запущен процесс mysql, остановите его с помощью "brew services stop mysql"
ботаник

67

Если эти команды у вас не работают:

sudo killall mysqld
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

Попробуй это:

Для XAMPP 7.1.1-0 я изменил номер порта с 3306 на 3307.

  1. Нажмите на Управление серверами
  2. Выберите базу данных MySQL
  3. Нажмите на Настроить справа
  4. Измените номер порта на 3307
  5. Нажмите ОК
  6. Закройте панель управления и перезапустите ее.

Теперь вам хорошо.


Я пытался сменить порт и перезапустить менеджер, спасибо.
Shubha S

Perfect man, я поменял номер порта с 3306 на 3307. Спасибо!
Бонсай

3
Я пробую то же самое, но не работаю с новым xampp 7.2.2: получено следующее сообщение об ошибке (у меня заблокирован вопрос, поэтому я не могу задать новый вопрос о stackoverflow) Starting MySQL .2018-03-06 11:21:32 3610 mysqld_safe Logging to '/Applications/XAMPP/xamppfiles/var/mysql/Bharats-iMac.local.err'. 2018-03-06 11:21:32 3610 mysqld_safe Starting mysqld daemon with databases from /Applications/XAMPP/xamppfiles/var/mysql ERROR!
bharat

Я запускаю эту команду sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start, она работает для меня.
Ramv V 04

Изменение порта MySQL XAMPP на 3307 работает нормально!
Mohamed Daaniyaal

31

проверьте журнал ошибок в вашем / Applications / XAMPP / xamppfiles / var / mysql / с именем файла, например your_machine_name.local.err, если вы найдете что-то вроде: «Попытка открыть ранее открытое табличное пространство. Предыдущее табличное пространство ... использует идентификатор пространства»

у меня работает следующее:

редактировать файл:

/Applications/XAMPP/xamppfiles/etc/my.cnf

найдите раздел [mysqld], добавьте одну строку:

innodb_force_recovery = 1

затем беги

sudo /Applications/XAMPP/bin/mysql.server start

снова все ок.

а затем последний шаг:

снова отредактируйте my.cnf и удалите только что добавленную строку:

innodb_force_recovery = 1

и снова перезапустите mysql. В противном случае все ваши таблицы будут доступны только для чтения


14

Попробуйте запустить эти две команды в терминале:

  1. sudo killall mysqld sudo
  2. /Applications/XAMPP/xamppfiles/bin/mysql.server start

11

Для меня сработало следующее: Измените разрешение на «только чтение» для «всех» к файлу /Applications/XAMPP/xamppfiles/etc/my.cnf. Затем запустите MySQL из диспетчера XAMPP.


Сработало у меня! Отлично!
Джаспер

Значит ли это, что вы делаете это chmod 444 my.cnfв терминале?
Абдулла Рашид

6

Сначала мне не удалось убить демон mysql с помощью команд, размещенных здесь. Итак, я вспомнил свои времена Linux и сделал следующее:

Я следил за запущенными процессами, запустив их topв одном окне терминала. Затем я убил mysqld через sudo killall mysqld(прикрутите PID ;-)) в другом и перезапустил через sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start.


6
  1. закрыть элемент управления XAMPP
  2. sudo killall mysqld
  3. sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

2
Сработало у меня! - Не волнуйтесь, если sudo killall mysqldчто-то вроде выкинет process not found.
Джимми

6

это случилось со мной. а также

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

у меня не работает.

Итак, я переустанавливаю xampp, а затем исправляю его.

внимание:

переустановите xampp, данные mysql не будут удалены, не беспокойтесь об этом.


Вместо этого для меня эта строка кода работает каждый раз, когда MySQL не запускается
Саша Кирико,

1
Переустановка XAMPP дает мне большую проблему. Больше не могу получить доступ к данным таблицы
Роберт Кабри

4

На это было много ответов, но я думаю, что нашел причину, по крайней мере, для меня. Похоже, что если вы переводите свой компьютер в спящий режим (или он засыпает сам по себе), когда он снова открывается, он пытается снова открыть процесс mysql. В какой-то момент я посмотрел на свой монитор активности, и у меня было запущено 5 экземпляров - все они были убиты, а затем запущен mysql.


4
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start    

Это сработало для меня.


ОШИБКА! Сервер завершает работу без обновления файла PID (/Applications/XAMPP/xamppfiles/var/mysql/testingAccounts-Mac.local.pid) .. что делать
Крутарт Патель

1
@iKrutarth посмотри на мой комментарий к ответу benshittu, может быть, это будет полезно и для тебя
LucaM

Повторяющийся ответ. Более старая версия этого ответа уже существует.
Хенрик,

4

Мне удалось легко убить все активные процессы mysql в инструменте Monitor Activity:

1) закрыть элемент управления XAMPP

2) откройте активность монитора

3) выберите фильтр для всех процессов (по умолчанию - Мои процессы)

4) поиск: mysql

5) принудительно закрыть все mysql

6) перезапустите элемент управления XAMPP и снова запустите apache

наслаждаться


4

попробуйте эти две строки с терминала

  1. sudo killall mysqld
  2. sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

3

Это может быть вызвано установленным вами программным обеспечением или любым другим программным обеспечением, использующим тот же порт 3306. Этот порт 3306 используется Mysql в XAMPP. С подобной проблемой я столкнулся с Apache. Я запускал скайп и пытался запустить XAMPP, но скайп использует тот же порт, что и Apache, поэтому он не работал. Затем я выхожу из скайпа, порт освобождается и запускается apache. Поэтому вам следует искать в своем ноутбуке программное обеспечение, которое блокирует или загружает этот порт. Освободите этот порт, закрыв программное обеспечение, а затем запустите XAMPP, и он будет работать.


3

Я сделал следующее: в панели управления XAMPP я отредактировал файл my.ini конфигурации MySql и изменил порт с 3306 на 3307, и это сработало, надеюсь, это помогло!

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


2

Я столкнулся с этой проблемой только сейчас. Я проверил файл журнала и обнаружил, что это вызвано некорректным завершением работы сервера. Итак, я нашел этот http://rivenlinux.info/how-to-recover-innodb-corruption-for-mysql/ и добавил простую конфигурацию «innodb_force_recovery = 1» в [mysqld] в my.cnf. Тогда проблема была решена.

Файл журнала находится в / Applications / XAMPP / xamppfiles / var / mysql, и его имя соответствует имени вашего сервера. Просто свяжите этот XXX-MacBook-Pro.local.err


Спасибо. Это очень помогло. Нашел журнал ошибок и увидел, что проблема была вызвана innodb. Теперь он перезагружается, но больше не может получить доступ к базам данных. Так что есть более серьезная основная проблема :(. Я думаю, что это как-то связано с обновлением Mac OSX. Это не первый раз. Только переустановка xampp тоже не исправит. Базы данных повреждены ....
Роберт Кабри

1

Все ответы, указанные выше в отношении изменения номера порта, в этой ситуации являются лучшим способом решения этой проблемы, поскольку вам нужно, чтобы ваше программное обеспечение для распознавания голоса сосуществовало с MAMP. Однако вы должны помнить, что изменение этого номера порта повлияет на все ваши последующие подключения к MySQL (например, терминал, код php, phpmyadmin и т. Д.). Следовательно, было бы желательно изменить порт, на котором работает программа распознавания голоса. Надеюсь, это было полезно.

:)


1

если вы получаете эту ошибку

.............ERROR! The server quit without updating PID file 

Попробуй это

Перейдите в / Applications / XAMPP / xamppfiles / var / mysql /

если нет файла с именем Your_Username.local.pid

Your_Username should replace with your Mac Username

Создайте файл с этим именем

Тогда попробуй

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start    

это сработало для меня


1

У него была та же проблема, все, что я сделал, это дал разрешение только на чтение для ВСЕХ пользователей (включая систему) и всех элементов, включенных в следующие папки:

/Applications/XAMPP/xamppfiles/etc
/Applications/XAMPP/xamppfiles/sbin

и перезапустите элемент управления XAMPP и снова запустите сервер mysql или

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start   

1

У меня такая же проблема, и я получаю эту ошибку в hostname.err в каталоге / Applications / XAMPP / xamppfiles / var / mysql

2016-09-06 15:32:45 140735322399488 [Примечание] Плагин «ОБРАТНАЯ СВЯЗЬ» отключен. 2016-09-06 15:32:45 140735322399488 [Примечание] Эвристический режим аварийного восстановления 2016-09-06 15:32:45 140735322399488 [Примечание] Пожалуйста, перезапустите mysqld без --tc-heuristic-recovery 2016-09-06 15: 32:45 140735322399488 [ОШИБКА] Не удается запустить журнал tc 2016-09-06 15:32:45 140735322399488 [ОШИБКА] Прерывание

2016-09-06 15:32:48 20004 mysqld_safe mysqld из файла pid /Applications/XAMPP/xamppfiles/var/mysql/hostname.pid завершился

Затем я удалил tc.log, и он отлично работает после перезапуска mysql через manager-osx


удаление tc.log устранило эту проблему для меня
Грег Керстин

1

Это может быть связано с тем, что другой экземпляр mysqd уже запущен в вашем mac-book-pro (MacOs-10). Практически невозможно убить / pkill mysqld или .... Я пробовал этот путь много раз, но безуспешно. Наконец, у меня сработало следующее:

launchctl unload -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

подождите несколько минут и проверьте с

ps -ef|grep mysqld

Он должен исчезнуть!


1

на

macOs High Sierra

если mysql не запускается из менеджеров-оксов и пробовал прямую команду, т.е.

sudo /Applications/XAMPP/bin/mysql.server start

тоже, чем перейти по пути

/ Приложения / XAMPP / xamppfiles / etc /

найти файл :

my.cnf

отредактируйте это

в разделе [mysqld] добавьте следующую строку:

innodb_force_recovery = 1

после сохранения и запуска или можно сделать из manager-osx

sudo /Applications/XAMPP/bin/mysql.server start

он должен запустить mysql.

после его запуска вам нужно снова отредактировать

my.cnf

файл и удалите только что добавленную строку

innodb_force_recovery = 1

остановитесь и снова запустите mysql. по команде

sudo /Applications/XAMPP/bin/mysql.server start 

или менеджером-osx

он будет работать нормально.


0

Возможно, у вашего программного обеспечения для распознавания голоса есть установщик mysql внутри, и когда вы установили это программное обеспечение, оно также установило mysql и добавило его в службу, и эта служба mysql запускается после запуска вашей системы. Итак, теперь у вас есть два сервера mysql (один от программного обеспечения для распознавания голоса, а второй от XAMPP), поэтому убийство предыдущего процесса (служба mysql) решило вашу проблему. Но это не постоянное решение, вам придется повторять его каждый раз, когда вы запускаете машину. Так что лучше узнать, что сервер (служба) mysql и изменить его номер порта. ИЛИ измените настройки, чтобы служба mysql не запускалась при запуске вашего компьютера (но может быть, ваше программное обеспечение для распознавания голоса не будет работать должным образом)

Надеюсь, это вам поможет.

Ура


0

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


0

Перезагрузка компьютера или использование перечисленных выше команд «kill» решает проблему. Что касается предотвращения этого, я обнаружил, что это происходит каждый раз, когда мой компьютер переходит в спящий режим. Очевидно, что порт зарезервирован, а затем после пробуждения mysql пытается повторно подключиться к этому порту, но не может. Это также может быть вашей проблемой.


0

Я запускаю XAMPP 5.6.3-0 для OS X Yosemite 10.10.2 и дважды сталкивался с одной и той же проблемой, первый раз был с Mavericks. Имея множество различных решений проблемы с базой данных MySQL, не запускающей приложение Manager, я хотел подтвердить, что сработало для меня. Обходной путь, который всегда работал и заставлял MySQL запускаться, заключался в открытии терминала и использовании: sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start Я открыл приложение Manager и запустил ProFTPD и Apache, а затем выполнил команду sudo.

Другое предложение wishap, которое сработало, заключалось в том, чтобы найти файл /Applications/XAMPP/xamppfiles/etc/my.cnf и изменить разрешения для «всех» на «Только чтение».

Другая проблема, с которой я столкнулся, которая, похоже, является еще одной проблемой со многими решениями, - это проблема после того, как все запущено, затем вводится localhost, который приводит меня к экрану-заставке xampp, а затем ничего. Единственное, что сработало для меня, по крайней мере, для доступа к странице phpMyAdmin - это ввести localhost / phpmyadmin

Я надеюсь, что это поможет другим прочитать кучу тем для ответа.

С уважением, Эрик


0

Попробуйте это, sudo service mysql stop, он остановит любые другие службы mysql, а затем перезапустит xampp


0

Просто нажмите вкладку «Управляемые серверы» в XAMPP MANAGER, выберите базу данных MySQL и нажмите кнопку «Настроить» справа.

Измените порт с 3306 на 3307, и он будет работать.


0

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

/Applications/XAMPP/xamppfiles/etc
/Applications/XAMPP/xamppfiles/sbin

0

Ну, иногда ERROR!в комментарии mysql на терминале отображается просто сообщение. Затем просто переустановите (перезапишите) XAMPP, и тогда это можно будет решить.


У меня тоже была ОШИБКА! и ничего больше. Я пошел с этой веткой, а затем выполнил шаги sudo killall. Мне не пришлось переустанавливать - osx el capitan
Splambo
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.