programing

MySQL 서버 시작 오류 'PID 파일을 업데이트하지 않고 서버가 종료되었습니다'

itsource 2022. 11. 3. 22:00
반응형

MySQL 서버 시작 오류 'PID 파일을 업데이트하지 않고 서버가 종료되었습니다'

Mac OS X v10.6(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라는 접미사가 붙은 로그 파일을 찾아보세요.더 많은 정보가 있을 겁니다.다음과 같은 경우가 있습니다.

/usr/local/var/mysql/your_computer_name.local.err

권한 문제일 수 있습니다.

  1. 실행 중인 MySQL 인스턴스가 있는지 확인합니다.

    ps -ef | grep mysql
    

    이 경우 프로세스를 중지하거나 종료해야 합니다.

    kill -9 PID
    

    서 ''는PID 옆에 입니다.

  2. ★★★★의 합니다./usr/local/var/mysql/

    ls -laF /usr/local/var/mysql/
    

    root 이렇게 mysql ★★★★★★★★★★★★★★★★★」your_user

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

하다의 에 따라 .brew install mysql.

다음을 사용하여 사용자 계정으로 실행할 데이터베이스 설정:

MySQL 5.x의 경우:

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

실행하려면 의 하십시오.mysqld_install_db:

mysql_install_db --help

MySQL 문서를 참조하십시오.

MySQL 8.x의 경우:

unset TMPDIR
mysqld --initialize-insecure --log-error-verbosity --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

디렉토리 「」를 합니다./usr/local/var/mysql위는 비어 있습니다.필요하면 백업합니다.

하려면 "mysql"이 할 수 .sudo:

sudo mysql_install_db ...options...

mysqld를 수동으로 시작합니다.

mysql.server start

주의: 이 작업이 실패하면 위의 첫 번째 두 단계를 실행하는 것을 잊었을 수 있습니다.

머신에서도 하였습니다(Mac에서 제안하는 설치 ).brew install를 참조해 주세요.

오류 파일을 삭제하면 다음과 같이 수정되었습니다.

sudo rm -rf /usr/local/var/mysql/dev.work.err )dev.work★★★★★★★★★★★★★★★★★)

이게 효과가 있었던 이유는dev.work.err_mysql:wheel 파일도 .이 에러 파일을 CHOWN으로 설정하면, 그 에러 파일도 수정되었을 가능성이 있습니다.

재기동 후에도 같은 문제가 발생.수정 방법은 다음과 같습니다.

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

이건 나한테 효과가 있었어...

실행 중인 모든 MySQL 프로세스를 확인합니다.

$ ps aux | grep mysql

USER     PID    %CPU  %MEM 
_mysql   5970   0.0   0.4 ...

다음으로 다음 명령을 사용하여 위의 모든 프로세스를 종료합니다.

$ sudo kill -9 [PID]

[PID]하여 예를 들어 PID를 사용합니다.5970.

첫 번째 명령어로 표시되는 모든 행에 대해 이 작업을 수행합니다.

그런 다음 MySQL 서버를 다시 시작할 수 있습니다.

mysql.server start

여러분도 빼보세요.ib_logfile0 ★★★★★★★★★★★★★★★★★」ib_logfile1MySQL을 사용하다

rm /usr/local/var/mysql/ib_logfile0
rm /usr/local/var/mysql/ib_logfile1

저는 좋아요.

이 오류는 MySQL이 정상적으로 종료되지 않은 후 시작하려고 할 때 발생할 수 있습니다.

  1. MySQL 오류 로그 파일을 확인합니다."같은 데이터 또는 로그 파일을 사용하는 다른 mysqld 프로세스가 없는지 확인하십시오."와 같은 메시지가 표시되면 해당 프로세스를 올바르게 종료해야 합니다.

  2. MySQL my my my my my 。합니다.lsof -i:3306(MySQL 기본 포트 번호는 3306 입니다).

    출력은 다음과 같습니다.

    COMMAND   PID      USER  FD   TYPE  DEVICE             SIZE/OFF NODE NAME
    mysqld   4249  username  17u  IPv4  0x7843d9d130469c0b      0t0 TCP  localhost:mysql (LISTEN)
    
  3. mysql: mysql 합니다.kill -15 4249

    Kill - 15는 프로세스에 신호를 전송하여 잠그는 모든 리소스를 해방하고 프로세스를 종료합니다.

  4. 합니다.MySQL은 문제없이 기동합니다.mysql.server start

⚠134 이렇게 하면 데이터가 지워지므로 먼저 백업해야 합니다.

폴더 ./usr/local/var/mysql 다음 MySQL을 합니다.brew reinstall mysql.

, , 가 있습니다만, 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」를 실행하고 있는 것만으로 동작하고 있습니다.sudo mysql.server start저를 위해 문제를 해결해주셨어요.

최근에 이 문제를 발견했지만, 이전에는 효과가 있었지만, 그 후 중단했습니다.

입니다.mysql.server 대신 뿌리로요.

파일은 「」가 )을 이었습니다._mysql). 을 사용하다

나에겐 수정이 간단했다.

top

mysqld가 이미 실행 중임을 나타냅니다.

sudo killall mysqld 

그런 다음 프로세스를 시작합니다.

MySQL을 재설치해야 했습니다.

brew reinstall mysql

다음으로 MySQL을 지금 시작하고 로그인 시 재시작하도록 합니다.

brew services start mysql

내게 효과가 있었던 솔루션은 다음과 같습니다. MySQL 서버에서 PID 파일을 만들없습니다. 사용 권한이 거부되었습니다.

내 허락을 몇 개 바꾼 게 효과가 있는 것 같았어.Mac OS X v10.8.2(Mountain Lion)를 탑재한 2012년 중반의 MacBook Air를 실행하고 있으며 MySQL은 Homebrew와 함께 설치되어 있습니다.

chmod 0755 /var
chown root:wheel /var/tmp
sudo chmod 0771 /usr/local/var/mysql/*

사용하고 있다

Homebrew('brew install mysql')를 사용하여 MySQL을 설치했습니다.몇 가지 종속성을 설치한 후 MySQL을 설치했습니다.

내가 시작하려고 했을 때

mysql.server start

Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/west.local.pid).

이 명령어를 실행했는데

/usr/local/Cellar/mysql/5.5.25/scripts/mysql_install_db

MySQL이 작동합니다.

MySQL 디렉토리의 최상위 레벨에서 mysql_install_db를 실행해야 합니다(예: usr/local/Cellar/mysql/5.5.25)./scripts 디렉토리 내에서 직접 실행해도 실행하기에 충분한 컨텍스트를 얻을 수 없습니다.

Mac OS X v10.7.5(Lion)를 사용하려고 할 때 이 문제가 발생했습니다.

안타깝게도 MySQL도 5.5.14에서 5.6.10으로 업그레이드 되었습니다.새로운 버전을 시도해 봤지만 작동하지 않았다.

예전 설정으로 돌아가기로 결심하고

brew switch mysql 5.5.14

이것으로 문제가 해결되지 않았다.다른 데서 읽다가 이렇게 했어, 야아!모두 돌아왔습니다:)

cd /usr/local/var/mysql
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak

이 방법은 효과가 있었습니다.

Homebrew를 탑재한 Mac의 경우:

실행 중인 MySQL의 모든 인스턴스 나열

brew services

를 실행하여 각 인스턴스를 삭제합니다.

brew uninstall <instance_name>

/usr/local/var/mysql에서 MySQL 디렉토리를 삭제합니다.

rm -rf /usr/local/var/mysql

Homebrew를 사용하여 MySQL을 재설치합니다.

brew install mysql
brew install mysql@<version> #Optional

mysql.server start를 다시 실행합니다.

mysql.server start

저에게 해결책은 /etc/my/cnf의 데이터 디렉토리를 덮어쓰기/수정하는 것이었습니다.

Readme 파일에 나와 있는 지시에 따라 소스로부터 MySQL 5.5.27을 구축했습니다.


# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> cmake .
shell> make
shell> make install
# End of source-build specific instructions

# Postinstallation setup
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data

# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &

# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

설명 되었습니다.mysqld_safe설명 없이 됩니다./etc/init.d/mysql.server start에러가 발생했습니다.

"PID 파일을 업데이트하지 않고 서버가 종료되었습니다."

설치 설명서에서 이상한 점을 발견했습니다.디렉토리 "data"에 대한 소유권이 mysql로 변경되었지만 "var"로 변경되지 않았습니다. 이는 수년 동안 var 디렉토리가 mysql 쓰기 가능함을 확인해야 했기 때문에 드문 일입니다.요.chown -R mysql /usr/local/mysql/var재수가 없다전히운운 없없없없없가田 var dir!에러.data dir!scripts/usr/local/local/data scripts/usr/local/data scripts/usr/local/data scripts/usr/local/data scripts/usr.

그래서 /etc/my.cnf를 편집하고 [mysqld]섹션에 mysql의 데이터 디렉토리를 명시적으로 var(보통 예상대로)로 지정하도록 명령을 추가했습니다.그 후 mysqld는 정상적으로 기동합니다.추가하는 지시어는 다음과 같습니다.

datadir = /usr/local/var/var

나한테는 통했어도움이 되길 바랍니다.

시스템에 MySQL 버전이 여러 개 있는 경우 다음 PID 오류가 발생할 수 있습니다.

먼저 모든 MySQL 프로세스를 종료합니다.

sudo killall mysqld

/usr/local로 이동하여 원하는 MySQL 버전을 선택한 다음 MySQL 권한을 제공합니다.저 같은 경우에는 버전 8이 필요했어요.

sudo chown -R mysql mysql-8.0.21-macos10.15-x86_64

/usr/local/mysql-8.0.21-macos10.15-x86_64 폴더로 이동하여 SQL 서버를 시작합니다.

sudo ./mysql.server start 비밀번호를 」)

다음과 같은 출력이 나올 경우...PID 문제가 해결되었습니다.

sudo ./mysql.server start

Starting MySQL
.. SUCCESS!

여기에 올라온 몇 가지 답변 덕분에 문제를 찾을 수 있었습니다.

먼저 달린다

sudo -i

루트에 접근할 수 있게 말이야

그런 다음 xxxx.err 파일을 삭제했습니다.

rm -rf /usr/local/mysql/data/xxxx.err

세이프 모드로 MySQL을 시작하고 나서

/usr/local/mysql/bin/mysqld_safe start

에러로 인해, 기동하려고 하고, 종료합니다. xxx.err 파일이 생성되며 오류 원인을 확인하려면 해당 파일을 읽어야 합니다.

tail -f /usr/local/mysql/data/mysqld.local.err

인지 제, 떤, 떤, 떤, inside, inside에 이 빠져있었습니다./var/log/ 이치노

cd /var/log

mkdir mysql

touch mysql-bin.index

새 파일이 생성된 후 권한을 변경해야 합니다.

chown -R _mysql /var/log/mysql

그 모든 조치를 취했을 때, 내 데이터베이스는 즉시 작동하기 시작했다.

핵심은 오류를 읽고 로그를 작성하여 무엇이 문제인지 찾는 것입니다.

MySQL 프로세스가 실행되고 있는 것 같기 때문에 포트를 사용할 수 없습니다.다음 명령을 사용하여 실행 중인 MySQL 프로세스를 확인할 수 있습니다.

ps auxf | grep mysql

프로세스가 MySQL을 사용하여 합니다.kill -9 PIDMySQL my my my my my 。

MySQL을 안전 모드로 시작합니다.

/usr/local/mysql/bin/mysqld_safe start

에서 임의의 Mac을 합니다.mysql ★★★★★★★★★★★★★★★★★」mysqld작업(또는 기타)을 수행할 수 있습니다.

또는 다음 방법으로 오류를 확인합니다.

tail -f /usr/local/mysql/data/XXXXX-XXXXX-Pro.local.err

Mac OS X v10.11 (El Capitan)에 대한 권한을 어기고 MySQL을 처음부터 다시 설치하기로 했습니다.

El Capitan에서 Homebrew를 사용하여 재설치하기로 했습니다.

brew uninstall mysql
sudo rm -rf /usr/local/var/mysql
brew install mysql
mysql.server start # ... SUCCESS

가 「」로부터 되었습니다._mysql다음 중 하나:

ls -alh /usr/local/var/mysql
drwxr-xr-x   22 lfender  admin   748B Mar 22 09:58 .
# ... etc.

저의 경우 에러 로그 파일의 액세스 문제로 인해 에러가 발생합니다.

다음 2개의 명령어는 문제를 해결하는 데 도움이 됩니다.

sudo chown <user> /usr/local/var/mysql/<my-host-name>.err
sudo chmod 666 /usr/local/var/mysql/<my-host-name>.err

에러 로그에 뭐라고 써있나요?이 에러가 발생하고, MySQL 에러 로그에 나타난 my.cnf 파일의 오래된 무효 설정이 되었습니다.설정이 나쁘지 않은 경우는, 에러 로그에 적어도 올바른 방향성이 기록되어 있을 것입니다.

드라이브에 남은 공간이 있는지 확인합니다.드라이브에 남은 공간이 없을 때 이 문제가 발생했습니다.

이게 너한테 효과가 있길 바라.

에러 로그를 확인한 결과, 다음과 같은 것을 발견했습니다.

120309 17:42:49 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
120309 17:42:50 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
120309 17:42:50 [Warning] You need to use --log-bin to make --binlog-format work.
120309 17:42:50 [Note] Plugin 'FEDERATED' is disabled.
120309 17:42:50 InnoDB: The InnoDB memory heap is disabled
120309 17:42:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120309 17:42:50 InnoDB: Compressed tables use zlib 1.2.3
120309 17:42:50 InnoDB: Initializing buffer pool, size = 16.0M
120309 17:42:50 InnoDB: Completed initialization of buffer pool
120309 17:42:50  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 /usr/local/mysql/data/ib_logfile0
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120309 17:42:50 mysqld_safe mysqld from pid file /usr/local/mysql/data/lu1s.local.pid ended

이를 해결하기 위해 mysql 폴더 전체에 소유권을 부여했습니다.

cd /usr/local
sudo chown mysql mysql
sudo chown mysql mysql-5.5.21-osx10.6-x86_64
sudo chown _mysql mysql
sudo chown _mysql mysql-5.5.21-osx10.6-x86_64

그런 다음 (커맨드라인에서도 할 수 있습니다) 권한을 폴더의 "get info" 메뉴(/usr/local/mysql-5.5.21-osx10.6-x86_64) 내에 있는 모든 동봉된 폴더에 적용했습니다.이 폴더는 에일리어스에만 사용할 필요가 없습니다.

폴더 이름은 현재 가지고 있는 MySQL 설치 버전에 따라 다릅니다.

저도 같은 문제가 있었어요./etc/my.cnf 파일을 이동하면 문제가 없습니다.여기서 정보를 얻었어요.

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★은...brew removemysqld의 이전 설치 실행 중.홈브루인 것 같아요.brew)는 하기 전에 ).

.err 파일을 확인한 후 이전 서비스를 종료한 후 MySQL의 다른 복사본이 실행 중일 수 있다는 오류가 기록되었습니다.그 후 새로운 MySQL 설치를 재시작할 수 있었습니다.

심플...

2002 MySQL 소켓 오류를 수정합니다.

다가오는 2002 소켓 오류를 수정합니다.MySQL이 소켓을 배치하는 위치와 OS X가 소켓을 배치해야 한다고 생각하는 위치를 링크합니다.MySQL은 /tmp에 저장하고 OS X는 /var/mysql에서 찾습니다.소켓은 MySQL 클라이언트/서버 통신을 허용하는 파일 유형입니다.

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

수고하셨습니다:)이것이 큰 도움이 되었습니다!

이 가이드는 http://coolestguidesontheplanet.com/의 남자들에게서 따온 것입니다.

"/var/lib/mysql"에서 "ib_logfile"이라는 이름의 로그 파일을 이동하고 mysql을 다시 시작합니다.로그 파일 갱신이 어려워 mysql이 실패할 수 있습니다.

mv /var/lib/mysql/ib_logfile* /some/tmp/folder/

ib_log 파일은 mysql 재시작 후 자동으로 생성되므로 삭제할 수도 있습니다.

이제 mysql 서버를 재시작합니다.

언급URL : https://stackoverflow.com/questions/4963171/mysql-server-startup-error-the-server-quit-without-updating-pid-file

반응형