После установки MySQL через Brew я получаю ошибку-сервер выходит без обновления PID-файла
хорошо, я искал повсюду и потратил довольно много времени на установку, удаление, попытку различных вариантов, но без успеха.
Я на Mac OS X Lion (10.7.3) и пытаюсь настроить Python, MySQL.
я успешно установил Python и MySQL через HomeBrew.
Python работает отлично.
после установки MySQL я выполнил первые 2 шага-unset и mysql_install_db команды.
Теперь, когда я пытаюсь запустить mysql " mysql.сервер старт", я получаю следующую ошибку
ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid).
BrajeshwarЭто мое имя пользователя на моей машине.
25 ответов:
изменить 2012/09/18: Как указал Кейн убедитесь, что
mysqlбаза данных правильно настроена, прежде чем делать что-либо еще. Смотрите "ошибка PID на mysql.запуск сервера?" для получения дополнительной информации.оригинальный ответ сохранен ради истории: Это, скорее всего,и проблема с разрешениями. Проверьте
/usr/local/var/mysql/*.err. Мой сказал:120314 16:30:14 InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name ./ibdata1 InnoDB: File operation call: 'open'. InnoDB: Cannot continue operation. 120314 16:30:14 mysqld_safe mysqld from pid file /usr/local/var/mysql/janmoesen.local.pid endedмне тоже пришлось сделать это:
sudo chown _mysql /usr/local/var/mysql/*
я обнаружил, что это была проблема с разрешениями с
mysqlпапка.chmod -R 777 /usr/local/var/mysql/решил это за меня.
Я закончил с полной переустановкой mysql, и это, наконец, сработало.
предупреждение это приведет к удалению всех ваших баз данных, поэтому сначала сохраните дампы.
brew remove mysql brew cleanup launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist sudo rm -rf /usr/local/var/mysql brew install mysql mysqld --initialize --explicit_defaults_for_timestamp mysql.server start # no sudo!
у меня была эта проблема на mac 10.10.5 Yosemite
что я сделал, чтобы решить эту
cd /usr/local/var/mysqlsudo rm *.err && sudo rm *.pidsudo rebootsudo mysql.server start
ноябрь 2014: Если вы получаете эту ошибку на MySQL 5.6.x на Mac OS X Mavericks или Yosemite и хотите использовать MySQL с PHP локально (/tmp/mysql.sock-это то, где PHP PDO ожидает найти файл sock), вот что исправило его для меня:
1) раскомментируйте строки файла конфигурации homebrew по умолчанию и отредактируйте, как показано ниже
$ sudo vi /usr/local/Cellar/mysql/5.6.21/my.cnf ... basedir = /usr/local/Cellar/mysql/5.6.21 datadir = /usr/local/var/mysql port = 3306 server_id = <UNIQUE_NUMBER_HERE_OR_LEAVE_COMMENTED_OUT> socket = /tmp/mysql.sock pid-file = /usr/local/var/mysql/[BOXNAME].local.pid ....BOXNAME - это то, что у вас есть в вашей системе Prefs -> Network в качестве уникального идентификатора для вашего компьютера в сети.
2) установить разрешения на всех файлах в MySQL datadir. Все они принадлежали [my_username]. MySQL очень придирчив к этому и отказывается создавать PID-файл, если он (пользователь _mysql) не владеет каталогом.
$ sudo chown -R _mysql:mysql /usr/local/var/mysql3) запустите MySQL с помощью скрипта bash helper / wrapper:
$ sudo mysql.server start Starting MySQL . SUCCESS!надеюсь, что это поможет. Если вышеизложенное не работает для вас, попробуйте запустить двоичный файл mysqld_safe вручную в каталоге Cellar / mysql/VERSION_/bin/ и проверьте, какие настройки (если это работает)
sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe &если это работает, вы можете
ps aux | grep mysqlи увидеть что-то вроде
[username] 6881 0.0 2.7 3081392 454836 ?? S 8:52AM 0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.6.21 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.21/lib/plugin --verbose --log-error=/usr/local/var/mysql/BOXNAME.local.err --pid-file=/usr/local/var/mysql/BOXNAME.local.pidЯ не уверен, почему это сработало для меня, но это показывает вам, где я получил мое.параметры файла конфигурации cnf from. Вы также можете использовать параметры командной строки, чтобы попытаться устранить неполадки при запуске mysqld вручную.
если вы запускаете управление запуском сервера MySQL с помощью mysqld_safe, вам, возможно, придется сделать это, чтобы закрыть его перед попыткой mysql.вспомогательный сервер Баш. Сопротивляться желание убить -9 [PID], потому что вы можете повредить свои данные.
mysqladmin -uroot shutdownудачи!
у меня была такая же проблема на OS X El Capitan, вот последовательность команд терминала, которая исправила ее для меня.
удалить файлы ошибок (вам придется изменить путь в зависимости от вашей установки)
sudo rm /usr/local/mysql/data/*.errнайти информацию для процесса MySQL, который все еще работает и убить его:
ps -A | grep -m1 mysql | awk '{print }' | sudo xargs kill -9Теперь перезапустите MySQL:
/usr/local/mysql/support-files/mysql.server start
это сработало для меня:
sudo chmod -R 777 /usr/local/var/mysql/ sudo /usr/local/mysql/support-files/mysql.server start
Если я правильно помню, это проблема с разрешениями. Попробуйте "коснуться" и "chmod" файла pid или папки, в которой хранится файл.
моя проблема заключалась в том, что я запустил сервер как sudo один раз, а затем попытался перезапустить его как локальный пользователь.
здесь mysql не смог написать в '.err ' файл принадлежит root. Мне пришлось удалить этот файл и перезапустить сервер:
sudo rm /usr/local/var/mysql/*.err mysql.server start
У меня есть аналогичная проблема с MySQL на Mac(Mac Os X не может запустить сервер MySQL. Причина: 255, а также "ошибка! Сервер завершает работу без обновления PID-файла"). После долгого процесса проб и ошибок, наконец, чтобы восстановить права доступа к файлам, я просто сделал это:
запустите дисковые утилиты.приложение
выберите Мой диск на левой панели
нажмите на кнопку "восстановить права доступа к диску"
Это сделал трюк для меня. Надеюсь, это может помочь кому-то еще.
это сработало для меня на 10.12.2:
$ rm /usr/local/var/mysql/*.errзатем
$ brew services restart mysql
для меня это сработало с:
unset TMPDIR mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
то, что сработало для меня было:
- перейдите в каталог установки mysql
sudo chmod -R 777 data- затем вернитесь в один каталог
cd support-files/sudo ./mysql.server startпосле этого сервер начал бежать.
но проблема с этим методом заключается в том, что я должен повторять это каждый раз, когда я хочу запустить mysql сейчас. Не знаю, почему он начал вести себя так внезапно.
у меня был тот же вопрос:
но ситуация была, каждый раз, когда я пытаюсь ввести:
/usr/local/mysql/support-files/mysql.server startфайл с именем
localhost.pidсоздается вместоiMax0.local.pidкоторый был указан в ошибке:ERROR! The server quit without updating PID file (/usr/local/mysql/data/iMax0.local.pid).решение, которое работает для меня было копирование
localhost.pidи переименовать его вiMax0.local.pid.
мое решение на OSX El Capitan было:
sudo chmod ugo+w /tmpЭто было внезапно нарушено.
ошибка:
ERROR! The server quit without updating PID fileи журнал показал:
Can't start server : Bind on unix socket: Permission deniedтакже может быть полезно отметить, что под OSX нет
my.cnfфайл по умолчанию и не нужен по умолчанию, который я не знал. Удачи вам!
У меня была аналогичная проблема. Но следующие команды спасли меня.
cd /usr/local/Cellar sudo chown _mysql mysql
это проблема с разрешением файла. Проверьте разрешения на диск и ремонт.
Osx = > Cmd+Space = > Disk Utilty = > Проверьте Разрешения На Диск.
проверка завершена после восстановления прав доступа к диску. mysql.команда запуска сервера работает успешно.
ни один из ответов работал для меня. Однако, я просто сделал
sudo mysql.server startи это сработало хорошо.кроме того, для меня он не показывал проблему с разрешениями в *.файл err.
найти usr / local/var/mysql / your_computer_name.местный.err file и понять дополнительную информацию об ошибке
местоположение : /usr/местные/ВАР/MySQL в/имя_компьютера.местный.подстраховались
Это, вероятно, проблема с разрешениями
- найти, если mysql работает и убить его
ps-ef / grep mysql
убийство -9 PID
где PID-значение второго столбца 2. проверьте право собственности mysql
ls-laF / usr / local/var/mysql/
if it is owned by root, change it mysql or your user namesudo chown-R mysql / usr / local/var/mysql/
У меня была эта проблема на Linux, но причина имеет отношение к любой установке mysql. В моем случае сервер рушился до завершения запуска и обновления файла pid. Сообщения об ошибках были замечены при запуске mysqld напрямую, а не через "service mysql start".
в моем случае причиной был раздел, в котором находились файлы журнала, будучи полным. Удаление файлов журнала позволило mysql начать все сначала. Чтобы проверить эту проблему, перейдите в расположение вашего mysql журналы активности, и делать
df ..
попробуйте это (OSX)
Шаг 1:
ps -aux | grep mysqlзатем убить 4-значный номер PID
Шаг 2:
kill 1965Шаг 3:
mysql.server startили имея трудное время, чтобы найти эти номера PID, попробуйте это ниже
Шаг 1:
ps -aux | grep mysqlШаг 2 снова:
killallШаг 3 снова:
mysql.server start
при установке из исходных кодов,пожалуйста следуйте инструкциям в файле
INSTALL-SOURCEгде инструкции по установке приведены в
section 2.8после установки проверьте, есть ли какой-либо процесс запуска mysql с ps aux / grep mysql
вы найдете вот так
root 1817 0.0 0.0 108336 1228 ? S Jan21 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mail.gaurav.local.pid mysql 2141 0.0 1.2 497660 24588 ? Sl Jan21 0:26 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/mail.gaurav.local.err --pid-file=/usr/local/mysql/data/mail.gaurav.local.pid --socket=/tmp/mysql.sock --port=3306 root 5659 0.0 0.0 103256 840 pts/13 S+ 11:30 0:00 grep mysql
killвсе процессы, связанные сmysql, а затем попробуйте запустить mysql server
первый
mv -f /var/lib/mysql /var/lib/mysql.bakи попробуйте командуmysql_install_db --user=mysql --ldata=[destination]замените назначение каталогом данных, после этого запустите MySQL с/etc/init.d/mysql restart
Comments