Brew를 통해 MySQL을 설치 한 후 오류가 발생합니다.-PID 파일을 업데이트하지 않고 서버가 종료되었습니다.


88

좋아, 나는 모든 것을 검색했고 설치, 제거, 다양한 옵션 시도에 상당한 시간을 보냈지 만 성공하지 못했습니다.

저는 Mac OS X Lion (10.7.3)을 사용 중이며 Python, MySQL을 설정하려고합니다.

HomeBrew를 통해 Python과 MySQL을 성공적으로 설치했습니다. Python은 훌륭하게 작동합니다.

MySQL 설치 후 처음 두 단계, 즉 unset 및 mysql_install_db명령을 수행했습니다.

이제 mysql "mysql.server start"를 시작하려고하면 다음과 같은 오류가 발생합니다.

ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid).
  • Brajeshwar 내 컴퓨터의 사용자 이름입니다.

답변:


80

편집 2012/09/18 : Kane이 지적한 대로 mysql다른 작업을 수행하기 전에 데이터베이스가 제대로 설정 되었는지 확인하십시오 . “ mysql.server 시작시 PID 오류? " 더 많은 정보를 위해서.

기록을 위해 원래 답변 유지 : 권한 문제 일 가능성 이 큽니다 . 확인하십시오 /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/*

65
실행중인 문제를 해결했습니다.sudo chown -R _mysql:_mysql /usr/local/var/mysql
— Matteo Alessani 2012-06-13

1
저도 같은 오류가 발생,하지만 난 아니오 / usr / 지방은 / var / mysql을 폴더 :( 또한 사제를 사용하고 있습니다.
— 나단 벼슬아치

2
올바른 솔루션에 대한 의견 brew info mysql또는 이 질문 을 참조하십시오
— Kane

4
sudo chmod ugo + w / tmp가 내 솔루션이었습니다.
— Ben Racicot 2015 년

2
내 문제는 sudo chown -R {my_user_name} : admin / usr / local / var / mysql55 /로 해결되었습니다.
— Packet Tracer

101

mysql폴더 의 권한 문제라는 것을 알았습니다 .

chmod -R 777 /usr/local/var/mysql/ 

나를 위해 해결했습니다.


18
이 777 수 있도록 할 필요가 없습니다
— JamesHalsall

2
나는 또한 오랫동안 찾고 있었고 이것이 나를 위해 그것을 고쳤습니다.
— 물린

6
프로덕션 환경에서는 아무것도 777로 설정하지 않는 것이 좋습니다. 이것은 로컬 설치에만 필요합니다. 또한 최소한 755로 다시 전환합니다.
— mikoop

1
mysql start에 오류가 표시되는 경우 경고 : World-writable 구성 파일 '/var/lib/mysql/none-dev/my.cnf'는 무시됩니다. 그러면 chmod ow / var / lib / mysql / none- dev / my.cnf
— David Mann

1
내 문제는 sudo chown -R {my_user_name} : admin / usr / local / var / mysql55 /로 해결되었습니다.
— Packet Tracer

65

결국 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!

3
가능한 모든 방법으로 권한을 변경하려고 시도했지만 성공하지 못했습니다. 이 지침을 따르고 성공했습니다. :)
— kartsims

이것은 내가 찾은 유일한 해결책입니다. 1 위 여야합니다
— Dan

고마워, 이것이 나를 위해 일한 유일한 것입니다. 달리지 않아도되었지만mysqld --initialize --explicit_defaults_for_timestamp
— Deep

1
MySQL 시작 중 ... 오류! PID 파일 (<path>-. lightspeed.irvnca.sbcglobal.net.pid)을 업데이트하지 않고 서버가 종료됩니다. 이 오류 받기
— Unnikrishnan

1
그냥 홈브류 문제
— McGrady

31

Mac 10.10.5 Yosemite에서이 문제가 발생했습니다.

이 문제를 해결하기 위해 내가 한 일

cd /usr/local/var/mysql
sudo rm *.err && sudo rm *.pid
sudo reboot
sudo mysql.server start


건배! 이 방법은 가장 간단하고 내 하루를 구했습니다!
— iplus26

), 완벽한, 당신은 내 일 저장
— Emy 통계

한숨. 인터넷에서 모든 솔루션을 2 시간 동안 시험 해본 후 이것이 마침내 해결되었습니다! 좋은 오래된 재시작! :)
— SexyBeast

18

2014 년 11 월 : Mac OS X Mavericks 또는 Yosemite의 MySQL 5.6.x에서이 오류가 발생하고 로컬에서 PHP와 함께 MySQL을 사용하려는 경우 (/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은 시스템 환경 설정-> 네트워크에서 네트워크상의 컴퓨터 고유 ID로 가지고있는 것입니다.

2) mysql datadir의 모든 파일에 대한 권한을 설정합니다. 이들은 모두 [my_username] 소유입니다. MySQL은 이것에 대해 매우 까다 롭고 (사용자 _mysql)이 디렉토리를 소유하지 않는 한 pid 파일 생성을 거부합니다.

$ sudo chown -R _mysql:mysql /usr/local/var/mysql

3) bash 도우미 / 래퍼 스크립트를 사용하여 MySQL을 시작합니다.

$ sudo mysql.server start
Starting MySQL
. SUCCESS! 

도움이되기를 바랍니다. 위의 방법이 작동하지 않으면 Cellar / mysql / VERSION_ / bin / 디렉토리에서 mysqld_safe 바이너리를 수동으로 실행하고 설정이 무엇인지 확인하십시오 (실행되는 경우).

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

왜 그것이 저에게 효과가 있었는지 잘 모르겠지만 my.cnf 구성 파일 옵션을 어디서 얻었는지 보여줍니다. 명령 줄 옵션을 사용하여 mysqld를 수동으로 시작할 때 문제를 해결할 수도 있습니다.

mysqld_safe를 사용하여 MySQL 서버를 실행하기 위해 manage를 실행하는 경우 mysql.server bash 도우미를 사용하기 전에이 작업을 수행하여 종료해야 할 수 있습니다. 데이터를 손상시킬 수 있으므로 -9 [PID]를 죽이려는 충동을 억제하십시오.

mysqladmin -uroot shutdown

행운을 빕니다!


감사합니다-내 문제는 sudo chown -R {my_user_name} : admin / usr / local / var / mysql55 /로 해결되었습니다.
— Packet Tracer

18

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

10

이것은 나를 위해 일했습니다.

sudo chmod -R 777 /usr/local/var/mysql/
sudo /usr/local/mysql/support-files/mysql.server start

이것은 MAC os 10.11.3에서 내 문제를 해결했습니다 (mysql dir의 777로 모드를 변경 한 후)
— Ratha

이는 읽기 쓰기 실행 또는 해당 폴더 및 해당 폴더 아래의 모든 파일 및 폴더에 대한 모든 사용자에 대한 전체 권한을 의미합니다. 자세한 설명은 다음 링크에서 봐 주시기 바랍니다 : linux.com/learn/understanding-linux-file-permissions을
— 크레 Plese에게


3

올바르게 기억하면 권한 문제입니다. pid 파일이나 파일이있는 폴더를 '터치'하고 'chmod'해보십시오.


아니. 나는 chmod 777을 시도하여 문제가 해결되는지 확인했지만 아무것도 해결하지 못했습니다. 같은 오류입니다.
— Brajeshwar

mysql 디렉토리를 chmod 777하고 pid 파일을 삭제하고 MySQL을 다시 시작하려고 했습니까?
— LonnyLot 2012 년

3

내 문제는 서버를 sudo로 한 번 시작한 다음 로컬 사용자로 다시 시작하려고한다는 것입니다.

여기서 mysql은 루트가 소유 한 '.err'파일에 쓸 수 없습니다. 해당 파일을 제거하고 서버를 다시 시작해야했습니다.

sudo rm /usr/local/var/mysql/*.err
mysql.server start

2

Mac에서 MySQL과 비슷한 문제가 있습니다 (Mac Os X에서 MySQL 서버를 시작할 수 없습니다. 이유 : 255 및 "오류! PID 파일을 업데이트하지 않고 서버가 종료되었습니다"). : 긴 시행 착오 과정 후, 마지막으로 파일 권한을 복원하기 위해, 난 그냥 그렇게했습니다

출시 디스크 Utilities.app가
왼쪽 패널의 내 드라이브 선택
버튼은 "디스크 권한 복구"에 클릭

이 속임수를 썼는지 나를 위해. 이것이 다른 사람을 도울 수 있기를 바랍니다.


1

나를 위해 그것은 다음과 함께 일했습니다.

unset TMPDIR
mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

1

나를 위해 일한 것은 다음과 같습니다.

  1. mysql 설치 디렉토리로 이동하십시오.
  2. sudo chmod -R 777 data
  3. 그런 다음 한 디렉토리로 돌아가십시오.
  4. cd support-files/
  5. sudo ./mysql.server start

그 후 서버가 실행되기 시작했습니다.

하지만이 방법의 문제점은 지금 mysql을 시작할 때마다 이것을 반복해야한다는 것입니다. 왜 갑자기 이렇게 행동하기 시작했는지 모르겠습니다.


1

usr / local / var / mysql / your_computer_name.local.err 파일을 찾아 오류에 대한 자세한 정보를 이해하십시오.

위치 : /usr/local/var/mysql/your_computer_name.local.err

권한 문제 일 수 있습니다.

  1. 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 name



sudo chown -R mysql / usr / local / var / mysql /


1

이것을 시도하십시오 (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


1

로그를 확인하시면 더 자세한 정보를 얻을 수 있습니다.

아래 명령을 사용하여 오류 로그를 추적하십시오.

tail -100 /usr/local/var/mysql/<user_name>.local.err

저에게는 디렉토리 중 하나가 누락되어 서버가 시작되었습니다.


1

핵심 사항은 .err 파일을 확인하는 것입니다 /usr/local/var/mysql. Mac OSX에서는 기본적으로 .

그 로그 파일은 다음 파일을 삭제해야한다는 것을 나에게 보여주었습니다.

ibdata1
ib_logfile0
ib_logfile1

mysql.start그 후 성공적으로 MySQL을 실행 했습니다. 해당 파일을 삭제하면 데이터가 손실 될 수 있습니다.


0
sudo chmod -R 777 /usr/local/var/mysql/

나를 위해 작동합니다.


0

나는 같은 문제가 있었다.

그러나 상황은 내가 들어 가려고 할 때마다 :

/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.


0

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기본적으로 파일 이없고 기본적으로 필요 하지 않은 파일 이 있다는 점을 알아두면 도움이 될 수 있습니다 . 행운을 빕니다!



0

비슷한 문제가있었습니다. 그러나 다음 명령이 나를 구했습니다.

cd /usr/local/Cellar
sudo chown _mysql mysql

0

이것은 파일 권한 문제입니다. 디스크 권한을 확인하고 복구하십시오.

Osx => Cmd + Space => 디스크 유틸리티 => 디스크 권한 확인.

디스크 권한 복구 후 완료되었는지 확인합니다. mysql.server start 명령이 성공적으로 작동합니다.


이것은 나를 위해 일했습니다. 다른 작업을하기 전에 이것을 시도하십시오.
— kamlesh

0

대답 중 어느 것도 나를 위해 일하지 않았습니다. 그러나 나는 단순히했고 sudo mysql.server start잘 작동했습니다.

또한 나를 위해 * .err 파일에 권한 문제가 표시되지 않았습니다.


0

Linux에서이 문제가 발생했지만 원인은 모든 mysql 설치와 관련이 있습니다. 제 경우에는 시작이 완료되고 pid 파일이 업데이트되기 전에 서버가 충돌했습니다. "service mysql start"대신 mysqld를 직접 시작할 때 오류 메시지가 표시되었습니다.

제 경우 원인은 로그 파일이있는 파티션이 가득 찼기 때문입니다. 로그 파일을 제거하면 mysql이 다시 시작됩니다. 이 문제를 테스트하려면 mysql 활동 로그 위치로 이동하여 df ..


0

mysql 설치를 8.x로 업그레이드 한 경우 이전 버전이 업그레이드를 지원하는지 확인하십시오 .

그렇지 않으면 mysql이 작동하지 않습니다! 모든 구성 파일과 함께 mysql을 /usr/local/var/mysql제거하십시오 (전체 폴더 제거). mysql을 다시 설치하십시오.

참고 : 재설치하면 데이터가 손실 될 수 있습니다.


0

위의 모든 솔루션이 나를 위해 작동하지 않습니다. 그러나 그들은이 오류를 고칠 수있는 단서를 제공합니다.

mysql.server start ---- error PID 파일을 업데이트하지 않고 서버가 종료 됨

homebrew를 사용하여 macbook mojave에 mysql@5.7을 설치했습니다.

양조 설치 mysql@5.7

/usr/local/var/mysql/IU.lan.err에있는 mysql 오류 로그, 한 줄이 있습니다 : 권한 테이블을 열고 잠글 수 없음 : 테이블 'mysql.user'가 존재하지 않습니다.

goole 검색 엔진에서 많은 게시물을 시도한 후이 게시물에서 영감을 얻은 baidu https://blog.csdn.net/xhool/article/details/52398042 로 전환 하여 해결책을 찾았습니다.

rm / usr / local / var / mysql / *

mysqld-초기화

루트 사용자의 임의 암호가 bash에 표시됩니다. 하지만 mysql -uroot -p [theRandomPassword] 명령은 작동하지 않으므로 비밀번호를 재설정해야합니다. 다음과 같은 내용으로 초기화 파일을 만듭니다.

'root'@ 'localhost'= PASSWORD ( 'MyNewPass');에 대한 암호 설정

찾기 쉬운 디렉토리 (예 : 데스크탑)에 배치하십시오.

mysqld --init-file = [YourInitFile] &

화면에 많은 로그가 인쇄됩니다.

mysql -uroot -pMyNewPass

높은 버전의 mysql을 즐기십시오!


0

실제로 MariaDB에서 Mysql로 ​​전환했기 때문에 저에게 일어났습니다. MariaDB로 다시 전환하면이 문제가 해결되었습니다.

기존 데이터베이스가 호환되지 않는 것 같습니다.


이것은 또한 내 문제였으며 MariaDB에서 MySQL로 전환했습니다. 그러나 MariaDB로 다시 전환하는 것은 허용 가능한 솔루션이 아닙니다. 새 mysql brew uninstall mysql@8.0을 제거한 다음 MariaDB에서 만든 이전 mysql 폴더를 삭제했습니다 sudo rm -rf /usr/local/var/mysql(이렇게하면 데이터베이스가 분명히 삭제됩니다). 그런 다음 brew install mysql@8.0및 mysql.server start그것은 작동합니다.
— antriver

0

sudo chown -R _mysql:_mysql /usr/local/var/mysql Matteo Alessani 덕분 에이 문제를 해결했습니다.


0

이 오류는 mysql이 이미 시작 되었기 때문에 실제로 표시 될 수 있습니다. 다음 방법으로 현재 상태를 확인하십시오.

mysql.server status

나는 항상 로그 파일 삭제를 해결했지만 ps실제로는 mysql 프로세스를 보여주었습니다. 나는 모든 것을 다시 죽였고 mysql.server restart작동했습니다!
— EAT
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.