На Snow Leopard при запуске MySQL выдается следующая ошибка:
Сервер вышел без обновления файла PID
my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
pid-file=/var/run/mysqld/mysqld.pid
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Ответы:
попробуйте найти ваш лог-файл с суффиксом ".err", там должно быть больше информации. Это может быть в:
Это, вероятно, проблема с разрешениями
проверьте, работает ли какой-либо экземпляр mysql
если да, вы должны остановить его или убить процесс
где
PID
число отображается рядом с именем пользователя на выходе предыдущей командыпроверить право собственности на
/usr/local/var/mysql/
если это владелец,
root
вы должны изменить егоmysql
илиyour_user
источник
Вы следовали инструкциям от
brew install mysql
?Настройте базы данных для запуска в качестве учетной записи пользователя с:
Для MySQL 5.x:
Чтобы настроить базовые таблицы в другой папке или использовать другого пользователя для запуска mysqld, просмотрите справку для
mysqld_install_db
:и просмотрите документацию MySQL:
Для MySQL 8.x:
Убедитесь, что каталог данных
/usr/local/var/mysql
выше пуст, сделайте резервную копию, если это необходимо.Например, для запуска от имени пользователя «mysql» может потребоваться
sudo
:Запустите mysqld вручную с помощью:
Примечание: если это не удается, вы, вероятно, забыли выполнить первые два шага выше
источник
sudo chown -R your_user /usr/local/var/mysql/
как ответmysqld_install_db
выдает ошибкуmysql_install_db: [ERROR] unknown variable 'tmpdir=/tmp'
У меня была та же проблема на моем компьютере Mac (правильно выполнили все шаги установки, предложенные
brew install
).Удаление файла ошибки исправило это для меня:
sudo rm -rf /usr/local/var/mysql/dev.work.err
(dev.work
это мое имя хоста)Это работало, потому что
dev.work.err
принадлежало_mysql:wheel
вместо моего собственного имени пользователя. CHOWN-in файл ошибок, вероятно, исправил бы это также.источник
После перезагрузки у меня возникла такая же проблема. Вот как я это исправил:
источник
sudo chown -R _mysql /usr/local/mysql/data
Это сработало для меня ...
Проверьте все запущенные процессы MySQL:
Затем убейте все процессы, перечисленные в приведенной выше команде, используя следующее:
Замените
[PID]
на индивидуальный PID из списка выше, например5970
.Сделайте это для всех строк, которые вы видите с первой командой.
Затем вы можете снова запустить сервер MySQL:
источник
pkill mysql
для уничтожения всех процессов, которые соответствуют «mysql» (-9
в большинстве случаев не требуется ).Эта ошибка может возникать при попытке запустить msql после неправильного завершения работы.
Взгляните на файл журнала ошибок mysql. Если упоминается что-то вроде «Убедитесь, что у вас еще нет другого процесса mysqld, использующего те же данные или файлы журнала». , то вам нужно правильно завершить этот процесс.
Посмотрите, на каком процессе запущен mysql, используйте эту команду:
lsof -i:3306
Ваш вывод должен выглядеть так:
kill -15 4249
mysql.server start
источник
Мой файл ошибок также сказал мне, что порт может использоваться другим процессом, но просто запуск
sudo mysql.server start
исправил проблему для меня.источник
Попробуйте удалить
ib_logfile0
иib_logfile1
файлы, а затем снова запустить mysqlМеня устраивает.
источник
.err
файл в том же каталоге, который работал для меня.ib_log*.bak
Если вам не помог ни один ответ, просто удалите папку,
/usr/local/var/mysql
а затем снова установите mysqlbrew reinstall mysql
.источник
brew reinstall mysql@.57
решите это.Я недавно сталкивался с этой проблемой, однако это работало прежде, затем прекратилось.
Это было потому, что я изначально начал
mysql.server
с правами root а не как я.Исправление состояло в том, чтобы удалить файл журнала ошибок (который принадлежал
_mysql
). Начиная это снова получил это прошло.источник
Для меня мне пришлось переустановить MySQL
а затем ниже Чтобы запустить, запустите MySQL сейчас и перезапустите при входе в систему:
источник
Решение, которое сработало для меня, было здесь: /server/334284/cant-create-pid-file-on-mysql-server-permission-denied
Изменение некоторых моих разрешений, похоже, помогло. Я использую Macbook Air середины 2012 года с OS X 10.8.2 и mysql был установлен вместе с homebrew.
источник
Для меня решение было простым:
показал, что mysqld уже работает
затем позволил процессу начать
источник
У меня была эта проблема при попытке заваривать обновление на MacOS X 10.7.5.
К сожалению, mysql также был обновлён до 5.6.10 с 5.5.14. Пробовал новое, не сработало.
Я решил вернуться к своей старой настройке и сделал
Это не решило проблему. В другом месте я прочитал и сделал это, вуаля! Все вернулось :)
источник
brew upgrade mysql
а затем,brew switch mysql 5.7.17
который был моей предыдущей версией. Weird!Я использую,
Я установил MySQL с помощью homebrew ('brew install mysql'). Он установил пару зависимостей, а затем mysql.
Когда я попытался запустить его,
Я выполнил эту команду,
и MySQL работает.
Обратите внимание, что вам нужно запустить mysql_install_db из верхнего уровня каталога mysql (IE, usr / local / Cellar / mysql / 5.5.25). Запуск его непосредственно в каталоге / scripts не дает ему достаточно контекста для запуска.
источник
Для меня решение было переопределить / исправить каталог данных в / etc / my / cnf.
Я собрал MySQL 5.5.27 из исходного кода, следуя указаниям в файле readme:
mysqld_safe завершил свою работу без объяснения причин. работа
/etc/init.d/mysql.server start
привела к ошибке:«Сервер вышел без обновления файла PID»
Я заметил кое-что странное в инструкции по установке. У него изменилось владение на mysql для каталога «data», но не на «var»; это необычно, потому что в течение многих лет мне приходилось следить за тем, чтобы директория var была доступна для записи в mysql. Так я вручную побежал
chown -R mysql /usr/local/mysql/var
и попытался запустить его снова. Все еще не повезло. Но что еще хуже, нет файла .err в директории var - он был в директории data! поэтому scripts / mysql_install_db устанавливает лагерь в / usr / local / mysql / var, но остальная часть приложения, кажется, хочет выполнить свою работу в / usr / local / mysql / data!Поэтому я просто отредактировал /etc/my.cnf и в разделе [mysqld] я добавил директиву, чтобы явно указывать каталог данных mysql на var (как я обычно ожидаю, что это будет каким-либо образом), и после этого mysqld запускается просто хорошо. Директива для добавления выглядит следующим образом:
datadir = / usr / local / mysql / var
Работал на меня. Надеюсь, это поможет вам.
источник
Кажется, что процесс MySQL работает, следовательно, вы не можете использовать порт. Вы можете проверить запущенный процесс MySQL, используя следующую команду:
пс auxf | grep mysql
Если вы получили какой-либо процесс MySQL, уничтожьте этот идентификатор процесса, используя kill -9 PID, а затем попробуйте запустить MySQL.
источник
Запустите Mysql в безопасном режиме
ИЛИ
на MAC Завершите любую
mysql
илиmysqld
задачу (или другую) в приложении Activity Monitor.или проверьте вашу ошибку
источник
Что говорит журнал ошибок? Я получил эту ошибку, и она оказалась старой недопустимой настройкой в my.cnf, которую указал журнал ошибок mysql. Если настройки конфигурации не плохие, журнал ошибок должен, по крайней мере, указать вам правильное направление.
Что ж, я предполагаю, что OP исправил это на данный момент ... но, надеюсь, это указывает другим, видящим эту ошибку в правильном направлении.
источник
С помощью нескольких ответов, опубликованных здесь, я смог найти проблему
Сначала я бегу
sudo -i
Так что я мог бы иметь root-доступ.
Чем я удалил файл xxxx.err
rm -rf /usr/local/mysql/data/xxxx.err
после того, как я запустил MySQL в SafeMode
/usr/local/mysql/bin/mysqld_safe start
Он попытается запустить и завершит работу из-за ошибки ... будет создан новый файл xxx.err, и вам необходимо прочитать его, чтобы увидеть причину ошибки
tail -f /usr/local/mysql/data/mysqld.local.err
В моем случае по какой-то причине не хватало какой-то папки и файла внутри
/var/log/
папки ... Поэтому я создал обаcd /var/log
mkdir mysql
touch mysql-bin.index
После того, как новый файл был создан, вам нужно изменить разрешение
chown -R _mysql /var/log/mysql
Когда все эти шаги были сделаны, моя база данных сразу начала работать ...
Надеюсь, что это может помочь другим здесь ... Ключ должен прочитать ошибку и войти в систему и найти, что не так ...
источник
В моем случае ошибка происходит из-за проблемы с доступом к файлу журнала ошибок.
Следующие две команды помогают мне решить проблему.
источник
Я надеюсь, что эта работа для вас.
После проверки журнала ошибок я нашел это:
И для ее решения я передал права собственности на всю папку mysql:
Затем (вы можете сделать это и из командной строки), я применил разрешения (как только я передал это право собственности пользователям _mysql и mysql ) ко всем вложенным папкам из меню «get info» папки в / usr / local / mysql -5.5.21-osx10,6-x86_64 . Вам не нужно указывать это для псевдонима, поскольку это только псевдоним.
Имя папки зависит от версии установки MySQL, которая у вас есть.
источник
У меня такая же проблема. перемещение моего файла /etc/my.cnf сработало для меня. Я получил информацию здесь
источник
У меня была та же проблема, для меня это было удаление варева, когда выполнялась предыдущая установка mysqld. Кажется, brew не останавливает службу перед удалением.
После проверки файла .err я увидел зарегистрированную ошибку, что может быть запущена еще одна копия mysql после прекращения работы старой службы. Затем я смог перезапустить новую установку MySQL.
источник
ls -latr /usr/local/var/mysql/
чтобы найти последний измененный файл, который включал журнал ошибок, а затем,tail -50 name.err
чтобы увидеть ошибку, которая была проблемой в конфигурации.ps aux | grep mysqld
а затем завершил процесс,kill -9 [proccessid]
и сервер успешно запустилсяПросто....
Исправьте ошибку MySQL Socket 2002
Исправлена ошибка с надвигающимся сокетом 2002 года, которая связывает, где MySQL размещает сокет и где OSX считает, что это должно быть, MySQL помещает его в / tmp, а OSX ищет его в / var / mysql, сокет - это тип файла, который позволяет клиенту mysql / сервер связи.
sudo mkdir / var / mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Отлично сработано : )
Это поможет мне много! я взял это руководство у ребят на http://coolestguidesontheplanet.com/
источник
Попробуй это..
cd YOURPATH/usr/local/mysql
rm -rf *.local.err
(удаляет файл)touch YOURUSERNAME.local.pid
(создает новый файл * .local.pid, на который была выдана ошибка)mysql.server start
источник
error.log
файл принадлежал "_mysql", который выдавал ошибки в журналах. Просто хотел войти, если кто-то еще имеет эту проблему.150818 19:32:06 mysqld_safe Logging to '/opt/boxen/log/mysql/error.log'. 150818 19:32:06 mysqld_safe Starting mysqld daemon with databases from /opt/boxen/data/mysql /opt/boxen/homebrew/bin/mysqld_safe: line 129: /opt/boxen/log/mysql/error.log: Permission denied
Каким-то образом я испортил свои разрешения на El Capitan и решил переустановить MySQL с нуля.
Я использую brew на el capitan, и решил переустановить:
Права доступа к файлу при новой установке изменились с
_mysql
включения моего имени пользователяисточник
Проверьте, осталось ли место на вашем диске. Я получил эту проблему, когда в моем диске не осталось места.
источник
Проблема с правами доступа, она не может запуститься, потому что она не может писать в mac.err, потому что она принадлежит кому-то другому.
Убедитесь, что папка / usr / local / var / mysql принадлежит пользователю, который запустит mysql. Если я начну MySQL как Джек, все хорошо. Однако, если вы запустите его как root, он создаст файл mac.err (принадлежит root), в который jack не сможет записать, поэтому, когда вы попытаетесь перезапустить его как jack, произойдет сбой.
источник
В моем случае я получил эту проблему на VPS, cPanel .
Я попробовал большинство из вышеперечисленных ответов, но не успех.
https://forums.cpanel.net/threads/mysql-is-not-running.407142/
источник