MAMP: MySQL не включается

Мой сервер mysql mamp не включается. Я попытался выполнить /Applications/MAMP/bin/startMysql.sh, но это дало мне эту ошибку:

101110 05:50:31 mysqld_safe Вход в /Applications/MAMP/logs/mysql_error_log.err.

101110 05:50:32 mysqld_safe Запуск демона mysqld с базами данных из / Applications / MAMP / db / mysql

101110 05:50:32 mysqld_safe mysqld из файла pid /Applications/MAMP/tmp/mysql/mysql.pid завершился

/Applications/MAMP/logs/mysql_error_log.err:

InnoDB: http://dev.mysql.com/doc/refman/5.1/en/operating-system-error-codes.html

InnoDB: не удалось открыть или создать файлы данных.

InnoDB: если вы попытались добавить новые файлы данных, и здесь ничего не вышло,

InnoDB: теперь вы должны отредактировать innodb_data_file_path в my.cnf обратно

InnoDB: то, что было, и удалите новые файлы ibdata, созданные InnoDB

InnoDB: в этой неудачной попытке. InnoDB записал только те файлы, полные

InnoDB: нули, но пока их никак не использовал. Но будьте осторожны: не

InnoDB: удалите старые файлы данных, которые содержат ваши драгоценные данные!

101110 5:53:08 [ОШИБКА] Функция инициализации плагина InnoDB вернула ошибку.

101110 5:53:08 [ОШИБКА] Не удалось зарегистрировать плагин InnoDB как ДВИГАТЕЛЬ ХРАНИЛИЩА.

101110 5:53:08 [ОШИБКА] Невозможно запустить сервер: привязка к порту TCP / IP: адрес уже используется

101110 5:53:08 [ОШИБКА] У вас уже есть другой сервер mysqld, работающий на порту: 3306?

101110 5:53:08 [ОШИБКА] Прерывание

101110 5:53:08 [Предупреждение] Принудительное отключение 2 плагинов

101110 5:53:08 [Примечание] / Applications / MAMP / Library / libexec / mysqld: Завершение работы

101110 05:53:08 mysqld_safe mysqld из файла pid /Applications/MAMP/tmp/mysql/mysql.pid завершился


mysql mamp
person Community    schedule 10.11.2010    source источник
comment
Не могли бы вы опубликовать содержимое файла '/Applications/MAMP/logs/mysql_error_log.err'?   -  person Thomas    schedule 10.11.2010
comment
Он просто внезапно заработал!   -  person    schedule 10.11.2010


Ответы (11)


Что ж, я рад, что он сам себя исправил;)

Судя по вашему файлу с ошибкой, похоже, что у вас уже был запущен экземпляр MySQL ... Не уверен, работает ли это на Mac, но вы можете попробовать:

pidof mysqld

Если это что-то выводит (одно или несколько чисел), значит, MySQL работает. Если вывод пустой, значит, это не так.

person Thomas    schedule 10.11.2010
comment
pidof, похоже, не на льве. Я обычно использую для этого что-то вроде ps aux | grep mysqld. - person navitronic; 12.10.2011
comment
или заварить установить пидоф - person davbuc; 03.11.2017

У twob.net есть довольно хорошее исправление. Зайдите в терминал и введите

killall -9 mysqld 

Проверьте это - http://twob.net/journal/fix-for-mamp-mysql/. Работал на меня

person theliberalsurfer    schedule 26.01.2012
comment
Я пробовал по-прежнему ошибка. вы можете дать мне другое решение? - person huykon225; 07.08.2018

Я обнаружил, что иногда выполняется более одного экземпляра mysql. Когда MySQL не запускается, я сначала выхожу из MAMP, затем захожу в Applications / UTLities и открываю Activity Monitor. Оттуда я ищу «мой», который должен вызвать любой запущенный mysql. Затем я либо закрываю, либо принудительно закрываю mysql. В этот момент я могу открыть MAMP с работающим сервером MySQL.

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

person ryentzer    schedule 04.07.2011

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

     ps aux | grep mysql 
     lsof -i 
     killall -9 mysqld

если нужно

    sudo killall -9 mysqld

Ссылка: http://www.witheringtree.com/2010/05/how-to-resolve-mysql-not-starting-in-mamp/

person Invincible    schedule 16.06.2013

С новой / чистой установкой MAMP 4.1.1 у меня была такая же проблема.

При запуске: /Applications/MAMP/bin/startMysql.sh

MySql сообщил:

mysqld_safe error: log-error set to '/Applications/MAMP/logs/mysql_error_log.err', however file don't exists. Create writable for user 'mysql'..

Итак, я запустил touch /Applications/MAMP/logs/mysql_error_log.err и снова попробовал с startMysql.sh. Это сработало (но не совсем «само по себе»)!

person D. Woods    schedule 13.03.2017

Джмейер, иногда MAMP будет делать странные вещи, например отказываться от перезапуска. Когда это произойдет, перейдите в приложение MAMP и нажмите «Настройки», а затем просто нажмите «ОК».

По какой-то причине это вызывает перезапуск сервера MAMP.

Не уверен, что это то, что вы искали, но тем не менее полезный совет.

person Mike    schedule 05.07.2011

Вот что сделало это для меня в терминале:

sudo chown -R mysql: mysql / usr / локальный / mysql

person Jared    schedule 18.07.2011

Есть несколько способов исправить это - обычно один работает.

Для начала попробуйте выйти из MAMP, а затем:

sudo killall -9 mysqld

Если это не удается, попробуйте перейти в «Настройки»> «Порты» и изменить значение по умолчанию для MAMP. Щелкните «ОК». После этого должен запуститься MySQL. Если ваш веб-сайт не отображается по адресу localhost, попробуйте снова изменить порты.

Вы также можете остановить MAMP, перейти в Системные настройки> MySQL и выключить MySQL, а затем перезапустить MAMP.

Надеюсь это поможет!

person Community    schedule 05.02.2017

другой способ, который может решить ту же проблему:

-go в папку MAMP / db / mysql / - удалить все файлы, которые НЕ ЯВЛЯЮТСЯ ПАПКОЙ (такие файлы, как «mysql-bin.XXXXXX» / «mysql-bin.index» / «ibdata1» / «ib_logfileX»

не волнуйтесь, это не приведет к стиранию вашей базы данных, но убедитесь, что вы не удалили папки. Здесь хранятся данные ваших баз данных.

person Umar Adil    schedule 27.03.2017

Еще одна проблема:
Узнайте, кто является владельцем /Applications/MAMP/logs/mysql_error_log.err

На моей машине он принадлежит admin: admin.
/Applications/MAMP/bin/startMysql.sh не запустится, даже если запустить с sudo.

Но это сработает:

sudo su admin
/Applications/MAMP/bin/startMysql.sh
person miko    schedule 14.09.2019

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

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

  1. Убедитесь, что ни один экземпляр MySQL не запущен, набрав killall -9 mysqld в терминале, а затем нажмите Enter, чтобы выполнить команду. Он отключит все оставшиеся запущенные экземпляры mysql.
  2. Перейдите в / Applications / MAMP / tmp / mysql
  3. Найдите файл mysql.sock и удалите его. Его также можно было бы назвать mysql.sock.lock.
  4. Перезагрузите MAMP.

Теперь все должно загружаться и работать нормально. Если нет или вы не можете найти файл mysql.sock, ваша проблема может быть другой, упомянутой в других ответах.

person davidwebca    schedule 21.07.2020