Хорошо, я искал повсюду и потратил довольно много времени на установку, удаление, пробу различных вариантов, но безуспешно.
Я использую Mac OS X Lion (10.7.3) и пытаюсь настроить Python, MySQL.
Я успешно установил Python и MySQL через HomeBrew. Python отлично работает.
После установки MySQL я выполнил первые 2 шага - отключение и mysql_install_db
команды.
Теперь, когда я пытаюсь запустить mysql "mysql.server start", я получаю следующую ошибку
ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid).
Brajeshwar
это мое имя пользователя на моей машине.
sudo chown -R _mysql:_mysql /usr/local/var/mysql
brew info mysql
или этот вопрос для правильного решенияЯ обнаружил, что это проблема с правами доступа к
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!
источник
mysqld --initialize --explicit_defaults_for_timestamp
У меня была эта проблема на Mac 10.10.5 Yosemite
Что я сделал, чтобы решить эту проблему
cd /usr/local/var/mysql
sudo rm *.err && sudo rm *.pid
sudo reboot
sudo mysql.server start
источник
Ноябрь 2014 г .: Если вы получаете эту ошибку в MySQL 5.6.x в Mac OS X Mavericks или Yosemite и хотите использовать MySQL с PHP локально (/tmp/mysql.sock - это то место, где PHP PDO ожидает найти файл sock), вот что исправило для меня:
1) Раскомментируйте строки файла конфигурации homebrew по умолчанию и отредактируйте, как показано ниже.
BOXNAME - это то, что у вас есть в системных настройках -> Сеть в качестве уникального идентификатора вашего компьютера в сети.
2) Установите разрешения для всех файлов в каталоге данных mysql. Все они принадлежали [my_username]. MySQL очень разборчив в этом вопросе и отказывается создавать файл pid, если он (пользователь _mysql) не владеет каталогом.
3) Запустите MySQL, используя сценарий помощника / оболочки bash:
$ sudo mysql.server start Starting MySQL . SUCCESS!
Надеюсь, это поможет. Если вышеуказанное не работает для вас, попробуйте запустить двоичный файл mysqld_safe вручную в каталоге Cellar / mysql / VERSION_ / bin / и проверьте, какие настройки (если он работает)
Если это работает, вы можете
и увидеть что-то вроде
[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
Я не уверен, почему это сработало для меня, но это показывает, откуда я взял параметры файла конфигурации my.cnf. Вы также можете использовать параметры командной строки, чтобы попытаться устранить неполадки при запуске mysqld вручную.
Если вы все же запустите команду «Управляйте запуском сервера MySQL» с помощью mysqld_safe, возможно, вам придется сделать это, чтобы выключить его, прежде чем пытаться использовать помощник mysql.server bash. Не поддавайтесь желанию убить -9 [PID], потому что вы можете испортить свои данные.
Удачи!
источник
У меня была такая же проблема в OS X El Capitan, вот последовательность команд терминала, которая исправила ее для меня.
Удалите файлы ошибок (вам придется изменить путь в зависимости от ваших настроек)
sudo rm /usr/local/mysql/data/*.err
Найдите информацию о процессе mysql, который все еще запущен, и завершите его:
ps -A | grep -m1 mysql | awk '{print $1}' | 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
источник
Это сработало для меня 10.12.2:
$ rm /usr/local/var/mysql/*.err
тогда
источник
Если я правильно помню, это проблема с разрешениями. Попробуйте "коснуться" и "chmod" pid-файла или папки, в которой он хранится.
источник
Моя проблема заключалась в том, что я один раз запустил сервер как sudo, а затем попытался перезапустить как локальный пользователь.
Здесь mysql не смог записать в файл .err, принадлежащий пользователю root. Мне пришлось удалить этот файл и перезапустить сервер:
sudo rm /usr/local/var/mysql/*.err mysql.server start
источник
У меня аналогичная проблема с MySQL на Mac (Mac Os X не может запустить MySQL Server. Причина: 255, а также «ОШИБКА! Сервер завершил работу без обновления файла PID»). После долгого процесса проб и ошибок, наконец, чтобы восстановить права доступа к файлам, я просто сделал это:
запустите Disk Utilities.app,
выберите мой диск на левой панели,
нажмите кнопку «Восстановить права доступа к диску».
Это помогло для меня. Надеюсь, это поможет кому-то другому.
источник
Для меня это сработало с:
unset TMPDIR mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
источник
Для меня сработало:
sudo chmod -R 777 data
cd support-files/
sudo ./mysql.server start
После этого сервер заработал.
Но проблема с этим методом в том, что мне приходится повторять это каждый раз, когда я хочу запустить mysql сейчас. Не знаю, почему он внезапно стал так себя вести.
источник
Найдите файл usr / local / var / mysql / your_computer_name.local.err и узнайте больше об ошибке.
Расположение: /usr/local/var/mysql/your_computer_name.local.err
Возможно проблема с разрешениями
где PID - это значение второго столбца 2. проверьте право собственности на mysql
if it is owned by root, change it mysql or your user name
источник
Попробуйте это (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
источник
Пожалуйста, проверьте журнал, вы получите более подробную информацию.
Используйте команду ниже, чтобы отслеживать журнал ошибок
Для меня один из каталогов отсутствует, после создания сервер запустился.
источник
Ключевой вывод - проверить файл .err, по умолчанию в Mac OSX он находится в
/usr/local/var/mysql
.Этот журнал показал мне, что мне пришлось удалить следующие файлы:
mysql.start
После этого запуск MySQL с успешно работал. Обратите внимание, что удаление этих файлов может привести к потере данных.источник
работает для меня.
источник
У меня была такая же проблема:
Но каждый раз, когда я пытаюсь войти, ситуация была такой:
/usr/local/mysql/support-files/mysql.server start
создается файл с именем,
localhost.pid
вместоiMax0.local.pid
которого было указано в ошибке:Решение, которое работает для меня, было скопировано
localhost.pid
и переименовано вiMax0.local.pid
.источник
Мое решение для OSX El Capitan было:
Он был сломан внезапно.
Ошибка была:
и журнал показал:
Can't start server : Bind on unix socket: Permission denied
Также может быть полезно отметить, что в OSX нет
my.cnf
файла по умолчанию и он не нужен по умолчанию, о чем я не знал. Удачи!источник
Меня устраивает.
источник
У меня была аналогичная проблема. Но следующие команды меня спасли.
источник
Это проблема с правами доступа к файлу. Проверьте права доступа к диску и исправьте.
Osx => Cmd + Space => Disk Utilty => Проверить права доступа к диску.
Проверка завершена после восстановления разрешений на диск. Команда запуска mysql.server выполнена успешно.
источник
Ни один из ответов не помог мне. Однако я просто сделал
sudo mysql.server start
и это отлично сработало.Кроме того, для меня это НЕ отображало проблему с разрешениями в файле * .err.
источник
У меня была эта проблема в Linux, но причина связана с любой установкой mysql. В моем случае сервер падал до завершения запуска и обновления файла pid. Сообщения об ошибках были замечены при запуске mysqld напрямую, а не через "запуск службы mysql".
В моем случае причина заключалась в том, что раздел, на котором находились файлы журнала, был переполнен. Удаление файлов журнала позволило запустить mysql снова. Чтобы проверить эту проблему, перейдите к местоположению ваших журналов активности mysql и выполните
df .
.источник
Если вы обновили установку mysql до 8.x, проверьте, поддерживается ли ваша предыдущая версия для обновления. .
В противном случае mysql работать не будет! Удалите mysql вместе со всеми файлами конфигурации в
/usr/local/var/mysql
(удалите всю папку). Переустановите mysql.ПРИМЕЧАНИЕ: переустановка может привести к потере данных.
источник
все вышеперечисленные решения не работают для меня. но они дают мне подсказки, как исправить эту ошибку.
Я установил mysql@5.7 на свой macbook mojave с помощью homebrew
Журнал ошибок mysql расположен в /usr/local/var/mysql/IU.lan.err, в нем есть одна строка: Невозможно открыть и заблокировать таблицы привилегий: Таблица mysql.user не существует
попробовав много сообщений в поисковой системе goole, я обратился к baidu https://blog.csdn.net/xhool/article/details/52398042, вдохновившись этим сообщением, я нашел решение:
случайный пароль для пользователя root будет показан в bash. но команда mysql -uroot -p [theRandomPassword] не может работать. поэтому мне нужно сбросить пароль. создать файл инициализации с таким содержимым
поместите его в любой каталог, который легко найти, например Desktop
много журналов напечатано на вашем экране.
наслаждайтесь своей версией mysql!
источник
Произошло со мной, потому что я фактически переходил с MariaDB на Mysql. Переход на MariaDB решил эту проблему.
Я предполагаю, что существующая база данных несовместима.
источник
brew uninstall mysql@8.0
затем удалил старую папку mysql, созданную MariaDBsudo rm -rf /usr/local/var/mysql
(очевидно, это удалит ваши базы данных). Тогдаbrew install mysql@8.0
иmysql.server start
это работает.Решено с помощью
sudo chown -R _mysql:_mysql /usr/local/var/mysql
Спасибо Маттео Алессаниисточник
Эта ошибка может отображаться, потому что mysql уже запущен. Попробуйте узнать текущий статус:
источник
ps
на самом деле показывал процессы mysql. Убил все заново запустилmysql.server restart
и все заработало!