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


92

Я завантажив 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}

це повинно виглядати приблизно так: вбити -9 739

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


Коли проблема почалася?
Хаммад-хан,

2
Ви також можете перейти до монітора активності в папці службових програм і вбити процес там.
evan.stoddard

Я також рекомендую створити резервну копію папки веб-каталогу та перевстановити xampp .. Це працює для мене.
evan.stoddard

2
Як ви думаєте, що спричинило проблему?
Хаммад-хан,

Я встановив інший mysql у свій mac. Я зупинив цей, тоді він вирішив.
Md. Sajedul Karim

Відповіді:


164

Це має працювати:
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?
сприятливий99

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 з міркувань сумісності програми.
Адріан

86

Мінімальний посібник

1. sudo killall mysqld

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


Якщо це не спрацювало ...

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

Помилка Google ...


Приклади:

Помилка:

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 з доморощеною мовою, тому перевірте "служби заварювання", і якщо там запущений процес mysql, зупиніть його за допомогою "служби заварювання зупиніть mysql"
ботанік

65

Якщо ці команди не працюють для вас:

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. Клацніть OK
  6. Закрийте панель управління та перезапустіть її.

Тепер ти можеш піти.


Я хотів змінити порт і перезапустити менеджер, який працював на мене. Дякую.
Шубха С,

Ідеальна людина, я змінив номер порту з 3306 на 3307. Дякую!
Бонсай,

3
Я пробую те саме, але не працюю для нового xampp 7.2.2: Після отримання повідомлення про помилку (у мене запитання заблоковано, тому я не можу задати як нове запитання на 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!
stackoverflow

Я запускаю цю команду sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start, вона працює для мене.
Рамв V,

Зміна порту XAMPP MySQL на 3307 працює чудово!
Мохамед Дааніял

30

перевірте журнал помилок у вашому / 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 ще раз. Інакше всі ваші таблиці будуть лише для читання


11

Для мене працювало наступне: Змінити дозвіл на "лише для читання" для "всіх" файлу /Applications/XAMPP/xamppfiles/etc/my.cnf. Потім запустіть MySQL з менеджера XAMPP.


Працював у мене! Ідеально!
Джаспер

так це означає, що ви робите chmod 444 my.cnfв терміналі?
Абдулла Рашид,

11

Спробуйте виконати ці дві команди в терміналі:

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

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.
Jimmy Adaro

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) .. що робити
Krutarth Patel

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

Дублікат відповіді. Стара версія цієї відповіді вже існує.
Генрік

4

Я мав успіх із легким вбивством усіх активних процесів mysql в інструменті Monitor Activity:

1) закрити контроль XAMPP

2) відкрити Monitor Activity

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. Я запускав Skype і намагався запустити XAMPP, але Skype використовує той самий порт, що і Apache, тому він не працював. Потім я виходжу зі Skype, тоді порт був вільний і Apache запустився. Отже, слід шукати програмне забезпечення у своєму ноутбуці, яке блокує або зайнято цей порт. Звільніть цей порт, закривши програмне забезпечення, а потім запустіть XAMPP, і він буде працювати.


3

Я зробив наступне: На панелі керування XAMPP я відредагував файл конфігурації MySQL My.ini і змінив порт з 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


Thnx. Це дуже допомогло. Знайшов журнал помилок і побачив, що причиною проблеми є 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 06.09.2016 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

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

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

почекайте кілька хвилин і перевірте

ps -ef|grep mysqld

Це повинно пропасти!


1

на

macOs High Sierra

якщо mysql не починає роботу з менеджерами-ox та спробував пряму команду, тобто

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

занадто, ніж перейти до редагування шляху

/ Applications / 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. Якщо ваші журнали або файли db забирають весь простір на диску, mysqld не запускатиметься.


0

Проблему вирішить перезавантаження комп’ютера або використання перелічених вище команд „kill”. Як для запобігання цього, я виявив, що це відбувається щоразу, коли комп’ютер переходить у режим сну. Порт, очевидно, зберігається зарезервованим, а потім після пробудження mysql намагається відновити підключення до цього порту, але не може. Це також може бути вашою проблемою.


0

Я запускаю XAMPP 5.6.3-0 для OS X Yosemite 10.10.2 і двічі стикався з тим самим випуском, вперше з Mavericks. Через купу різних рішень проблеми з базою даних MySQL, яка не починає користуватися програмою Manager, я хотів підтвердити, що мені вдалося. Вихідне рішення, яке завжди працювало та змусило MySQL запускатись, було відкриттям Terminal та використанням: 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 mysql зупинить , зупинить будь-які інші служби mysql, а потім перезапустить xampp


0

Просто клацніть на вкладці Керовані сервери в XAMPP MANAGER, тепер виберіть MySQL Database, натисніть на налаштувати праворуч.

Змініть порт з 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.