ERROR 2002 (HY000) : 소켓 '/tmp/mysql.sock'을 통해 로컬 MySQL 서버에 연결할 수 없습니다


202

Mac OS X Mountain Lion에 MySQL을 설치 homebrew install mysql했지만 시도했을 때 mysql -u root다음 오류가 발생했습니다.

ERROR 2002 (HY000) : '/tmp/mysql.sock'소켓을 통해 로컬 MySQL 서버에 연결할 수 없습니다 (2).

이 오류는 무엇을 의미합니까? 어떻게 고칠 수 있습니까?


3
답변으로 게시하지 않았지만 install mysql-server패키지뿐만 아니라 패키지도 제공 해야합니다mysql
Hanky ​​Panky

3
@HankyPanky 당신이 그것을 썼을 때 그것은 사실이었을 것입니다. 그러나 2016 년 Brew는 할 mysql-server수 없습니다 install.
jjpe

22
그것은 당신이 있음에 유의해야 브루을 사용하여 설치 너무 비 사제 팁을 무시하고 시작 (및 시작시 다시 시작) brew services start mysql(당신이 백그라운드 서비스를 원하지 않는 경우) mysql.server start.
Dave Everitt

1
작동하지만 오래된 일반 mysql과 함께 작동 5.7.19합니다. 5.7.24일부 구성 참조가 새로운 brew Cellar mysql@5.7 Keg 대신 이전 mysql에 연결되어 있기 때문에 새로운 mysql@5.7 버전을 사용할 수 없습니다. 덕분에 그래서 나중에이 시도
KeitelDOG

1
이 오류는 실행 후 발생 brew upgrade하여 이전에 설치된 것보다 최신 버전의 mysql을 설치합니다.
johnsampson 17 년

답변:


113

MySQL이 설치되었지만 아직 실행되지 않았기 때문일 수 있습니다.

실행 중인지 확인하려면 활동 모니터를 열고 "모든 프로세스"아래에서 "mysqld"프로세스가 있는지 검색하고 확인하십시오.

"MySQL.prefPane"을 설치하여 시작할 수 있습니다.

여기에 도움이 된 완전한 자습서가 있습니다. http://obscuredclarity.blogspot.in/2009/08/install-mysql-on-mac-os-x.html


95
방금 실행했는데 mysqld그게 전부였습니다 . 이것은 시스템 의 일종의 하드 리셋 / 종료로 인해 종료잘못되어 발생하는 문제였습니다 .
ProfNandaa

2
제안 된 방법 중 어느 것도 효과가 없었습니다. 나에게 그것은 실행 중이었지만 권한 문제가있었습니다. 실행 sudo chown -R _mysql:mysql /usr/local/var/mysql && sudo brew services restart mysql@5.7문제를 해결
FooBar

활동 모니터를 볼 때 mysqlId가 실행 중입니다. 이 문제를 해결하려면 mysql을 중지 한 다음 다시 시작하십시오.
JpersaudCodezit

108

mysql터미널 에서 명령을 사용하려면 MySQL을 시작해야합니다 . 이렇게하려면을 실행하십시오 brew services start mysql. 기본적으로 brew는 루트 암호없이 MySQL 데이터베이스를 설치합니다. 보안을 유지하려면 : mysql_secure_installation.

다음을 실행하십시오 : mysql -uroot. root여기에 사용자 이름이 있습니다.


8
실행 sudo chown -R _mysql:mysql /usr/local/var/mysql && sudo brew services restart mysql@5.7문제를 해결
FooBar

1
궁금한 사람들에게는 mysql_secure_installationmariaDB 관련 스크립트가 있습니다.
T.Woody

3
brew services start mysql성공. 그러나 그 mysql -uroot후에 실행 하면 여전히 같은 오류가 발생합니다.
Harper Koo

Mac을 시작할 때마다 실행해야합니까, 아니면 오류를 제거하고 MySQL을 계속 실행하거나 시작시 시작할 때 실행해야합니까?
코너 거머리

이것을 한 번만 실행하면 충분합니다.
Md Mazedul Islam Khan

90

이는 homebrew 설치 후 발생했으며 권한 문제로 인해 발생합니다. 다음 명령으로 문제가 해결되었습니다.

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

sudo mysql.server start

2
당신은 멋진 @nirojan, 나는 벽에 머리를 때리는됩니다 thumsup :
라비 샤르마

멋있는. 다른 Mac 관리자 계정으로 변경할 때 문제를 해결할 수 있습니다 :)
William Wong Garay

정말 감사합니다. 나는 지금 5 시간 이상 내 머리를 부수고있다. 인터넷에서 여러 답변을 보았는데 이것이 도움이되었습니다.
ivange94

나는 당신을 사랑합니다 @nirojan
Raccoon

명성! 그러나 MacBook을 재시동 할 때도 같은 문제가 있습니다.
주니어 간틴

46

운영: brew info mysql

그리고 지시를 따르십시오. 공식의 설명에서 :

Set up databases to run AS YOUR USER ACCOUNT with:
    unset TMPDIR
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

To set up base tables in another folder, or use a different user to run
mysqld, view the help for mysql_install_db:
    mysql_install_db --help

and view the MySQL documentation:
  * http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html
  * http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html

도움이 되었기를 바랍니다.


35

다른 사람들이 지적했듯이 이것은 MySQL이 설치되었지만 서비스가 실행되지 않기 때문입니다. MySQL 서비스를 시작하는 방법은 여러 가지가 있으며 저에게 도움이 된 것은 다음과 같습니다.

서비스를 시작하려면

  1. "시스템 환경 설정"으로 이동
  2. 하단 창에는 MySql 아이콘이 있어야합니다.
  3. 더블 클릭하여 'MySQL Server Status'를 시작하고 'MySQL Server 시작'버튼을 누릅니다.

내 환경 :

맥 요세미티 10.10.3

설치된 패키지 : /Volumes/mysql-advanced-5.6.24-osx10.8-x86_64


@HosMercury MySQL 설치를 확인할 수 있습니까
Ithar

공식 Mysql 웹 페이지에서 mysql을 다운로드하여 설치합니다. 이 솔루션은 저에게 효과적입니다. 감사합니다 :)
鄭元傑

1
안녕하세요, 공식 웹 페이지에서도 mysql을 다운로드하여 설치했지만 환경 설정 창에서 서버가 활성화되지 않습니다 (빨간색 점). 아무 반응이 없습니다. 'chown', tmp / mysql.socket의 symlink, uninstall / re-install, brew install mysql을 시도했지만 모두 실패했습니다. Brew 설치는 Sierra 또는 상위 OS를 요구하는 것에 대한 불만족스러운 오류를 제공합니다. 엘 캐피 탄을 운영하고 있습니다. 도움을 주시면 감사하겠습니다.
Spencer Trinh

24

해결책은 다음과 같습니다.

  • MySQL의 권한 변경

    sudo chown -R _mysql:mysql /usr/local/var/mysql
  • MySQL 프로세스 시작

    sudo mysql.server start

여기 에 제공 되고 많은 다른 게시물에서 제공 된 훌륭하고 유용한 답변을 많이 추가 하려면 위의 명령 으로이 문제가 해결되지 않으면 호스트를 지정하십시오.

mysql -u root -p h127.0.0.1

나를 위해 그것은 권한 문제였다
pfwd

mysql -u root -p -h127.0.0.1
Duc Chi

와우, 내 지역 물건을 모두 지우는 것보다 더 나은 해결책입니다. 이것은 빠른 수정이었습니다!
요르단

위에서 시도했지만 결국 작동했습니다 : sudo chown -R $ (whoami) $ (brew --prefix) / *
Kiran Ruth R

15

경고-이 방법은 /usr/local/var/mysql폴더의 모든 데이터베이스를 제거 합니다

나는 Homebrew와 함께 MySQL을 설치했고, 나를 위해 이것을 고친 유일한 것은 MySQL을 다시 설치하는 것이 었습니다.

회사 랩톱에서 Homebrew를 통해 내 컴퓨터에서 MySQL을 제거 할 권한이 없습니다.

$ brew uninstall mysql --ignore-dependencies
Uninstalling /usr/local/Cellar/mysql/8.0.12... (255 files, 233.0MB)
Error: Permission denied @ dir_s_rmdir - /usr/local/Cellar/mysql/8.0.12

대신 MySQL을 수동으로 제거하고 다시 설치했습니다.

$ sudo rm -rf /usr/local/Cellar/mysql
$ brew cleanup
$ sudo rm -rf /usr/local/var/mysql
$ brew install mysql

그리고 그것은 효과가 있었다!


경고-이 방법은 모든 데이터베이스를 제거합니다 (/ usr / local / var / mysql 폴더에 있음).
johnsampson 17 년

13

아래 brew install mysql에이 문제에 대한 최신 검색이 도움이 될 수 있는 최신 지침이 포함되어 있습니다.

$ brew install mysql
==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.26.yosemite.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring mysql-5.6.26.yosemite.bottle.1.tar.gz

To connect:
    mysql -uroot

To have launchd start mysql at login:
  ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
  mysql.server start

내 경우에는 지금 mysql을로드 launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist한 다음 시작하여 진행 할 수있었습니다 $ mysql.

이것이 최근 문제 해결에 도움이되기를 바랍니다.


11

mysql 서버가 시작되지 않은 것 같습니다. 일반적으로 stop 명령을 실행 한 다음 다시 시작합니다.

mysqld stop
mysql.server start

같은 오류가 발생합니다.


9

mysql 서비스를 다시 시작할 때 문제가 해결되었습니다. 그냥 실행 :

brew services start mysql

8

/usr/local/var/mysql폴더 액세스 와 관련된이 문제는 이 폴더를 제거하고 mysql을 다시 설치합니다.

  1. brew로 mysql을 제거하십시오.

    brew uninstall mysql

  2. sudo rm -r /usr/local/var/mysql

  3. brew install mysql@8.0
  4. mysql -u root

이 솔루션은 저에게 잘 작동합니다! 그러나 모든 데이터베이스를 잃어 버렸습니다! 경고!


2
이렇게하면 문제가 해결 될 가능성이 높지만 향후 독자에게는 모든 데이터베이스가 지워질 것이라는 경고가 표시됩니다. 기본적으로 MySQL을 강제로 다시 설치합니다. 나는 질문의 맥락이 새로 설치되었다는 것을 알고 있지만, 스캔하는 일부 사람들은 기존 / 프로덕션 설치에서 발생할 수있는 손상을 모른 채 이것을 시도 할 수 있습니다.
efru 2016 년

1
이것은 실제로 해결책이 아닙니다. 이것은 "전원을 껐다 켰습니까?"
Berry M.

6

오, 이해하는데 시간이 좀 걸렸습니다. 코멘트에서 봤습니다. brew를 사용하여 mysql을 설치하고 서비스를 시작한 후 (아마도을 사용하여 sudo brew services start mysql) 다음을 실행하십시오.

$ mysqld

그리고 그 후에 MySQL이 실행되고 있어야합니다.


5

나를 위해 달리는 것처럼 간단했습니다.

/usr/local/opt/mysql/bin/mysqld_safe

대신에 mysqld


1
이것은 나를 위해 일했습니다. 이유가 확실하지 않지만 내 컴퓨터의 Mac OS 다시 시작 버그와 관련이있을 수 있습니다.
kraftydevil

3

내 문제에 대한 해결책을 찾았습니다. 내 MySQL 서버가 실행 중이 아니기 때문입니다.

MySQL이 내 컴퓨터에 올바르게 설정되지 않아서 실행할 수 없기 때문에 발생했습니다.

이를 해결하기 위해 Mac OSX Mountain Lion에 MySQL을 설치하는 스크립트를 사용했는데 누락 된 파일이 설치되어 있어야합니다.

링크는 다음과 같습니다. http://code.macminivault.com/

중요 참고 : 이 스크립트는 루트 비밀번호를 임의로 생성 된 문자열로 설정하여 데스크탑에 저장하므로이 파일을 삭제하지 않고 비밀번호를 기록하지 않도록주의하십시오. 또한 시스템 환경 설정에 MySQL 관리자를 설치합니다. 기존 데이터베이스가 제거되는지 확실하지 않으므로 조심하십시오.


3

내 경우에는 단순히 잠금 파일을 삭제하는 문제였습니다.

sudo rm -f /tmp/mysql.sock.lock

3

이 문제를 겪고 아래 솔루션을 사용하여 mysql 서버를 실행했습니다.

.dmg( https://dev.mysql.com/downloads/mysql/5.7.html )을 통해 mysql을 설치 하면 시스템 환경 설정에서 mysql 서비스 패널을 얻은 다음 패널에서 mysql을 시작하고 시도합니다.

mysql -u root -p

참조 용으로 첨부 된 이미지

시스템 환경 설정

MySQL 패널


2

몇 시간 동안이 작업을 한 후 / etc / mysql /로 이동하여 my.cnf 파일을 편집했습니다. 다음을 추가하십시오

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

1
내 os ​​/ mysql 버전의 경우 /etc/my.conf이고 소켓은 /var/lib/mysql/mysql.sock에 있습니다. /var/log/mysqld.log가 있어야하지만 이것은 나를 위해 트릭을 수행했습니다. 소켓 파일이있는 곳으로
keithpjolley

1

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock과 같은이 문제를 해결하기 위해 가능한 모든 방법을 시도했지만 mysql을 제거하고 다시 설치하십시오 .mysql이 xampp에서 실행되고 있는지 확인하십시오. .

마지막으로 my.cnf (구성 파일)를 열고 소켓 경로를 복사합니다 (작동하지 않는 전체 경로를 복사해야합니다). 그런 다음 터미널에서이 명령을 수행합니다.

mysql --socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

보라, mysql 발사.

이 솔루션은 MySQL이 Xampp / Ampps에서 실행되는 것으로 표시되는 경우에만 작동하지만 터미널에서 이미 다음과 같은 것을 시도했을 때 여전히 올바른 소켓에 연결되지 않습니다.

./mysql -u root

또는

brew services start mysql

이게 도움이 되길 바란다!


또한이 게시물에서 제안 된 모든 솔루션을 시도했지만 작동하지 않았습니다. xampp가 설치되어 있어야합니까? 나는 이것에 익숙하지 않다. 공식 웹 사이트 (.DMG)에서만 mysql 서버 GPL 버전을 설치했습니다. 이 응용 프로그램 인 XAMPP를 믿지 않습니다. 자세히 설명해 주시겠습니까? 감사.
Spencer Trinh

1

이것 만이 나를 위해 속임수를 만들었습니다 brew services start --all (모든 답변을 시도한 후)


2
질문과 어떻게 관련이 있는지 설명하십시오.
mentallurg

1

나는 당신이 실행하는 것이 좋습니다

  mysql.server start

가기 전에

  mysql -u root -p

로그인하기 전에 mysql 서버가 실행 중인지 확인하십시오.

이것은 mysql 서버가 실행되고 있지 않은 머신을 시작 / 다시 시작할 때 여러 번 발생합니다.


1

이 게시물로 계속 돌아와서이 오류가 여러 번 발생했습니다. 새로 설치 한 후 모든 데이터베이스를 가져 오는 것과 관련이있을 수 있습니다.

나는 homebrew를 사용하고 있습니다. 나를 위해 그것을 고 치곤했던 유일한 것 :

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

오늘 아침, 기계가 밤새 종료하기로 결정한 후에 문제가 다시 발생했습니다. 이제 그것을 고친 유일한 것은 mysql을 업그레이드하는 것이 었습니다.

brew upgrade mysql

0

제 경우에는 터미널에서 mysql에 액세스하는 MAMP를 설치 한 직후에 동일한 소켓 오류가 발생했습니다. 결국 원하는 것은 다시 시작하는 것뿐이었습니다.


0

여기에 다른 유용한 답변이 많이 있지만 아무것도 나를 고치지 않았습니다. 궁극적 으로이 사이트 또는 다른 사이트에서 찾은 아무것도 Homebrew에서 MySQL 버전을 얻지 못했습니다.

https://dev.mysql.com/downloads/file/?id=479114 (필요한 적절한 버전 찾기) 에서 DMG를 다운로드 하여 마법사가 설치하도록하는 것은 매우 고통 스럽 습니다. 다른 수동 단계는 /usr/local/mysql/binPATH 에 추가 하는 것입니다.

추출이 문제를 일으키는 경우이 옵션을 사용하는 것이 좋습니다.

업데이트-여전히 문제가 해결되지 않으면 DMG를 통해 설치하기 전에 mysql을 완전히 제거하십시오. 다음 지침을 따르십시오 : https://gist.github.com/vitorbritto/0555879fe4414d18569d


DMG 파일을 통해서도 설치했지만 여전히이 소켓 오류가 발생합니다. mysql --version은 나와 도움이되지만 다른 것은 없습니다. --version 및 --help 명령이 작동하도록 경로에 추가했습니다. 조언을 해주시겠습니까? 감사.
Spencer Trinh

먼저 mysql 제거에 대한 업데이트를 참조하십시오. 그것은 나 자신과 여러 동료들을 위해 수정되었습니다.
Patrick


0

Catalina OS로 업그레이드 한 후 비슷한 문제가 발생했습니다. mysqld 명령을 실행 한 후 logs 파일에 문제가 있음을 발견했습니다. 다른 사람들에게는 다를 수 있습니다.

$ mysqld

문제는

2019-10-16T04:58:59.174474Z 0 [ERROR] Could not open file '/var/log/mysql/error.log' for error logging: No such file or directory
2019-10-16T04:58:59.174508Z 0 [ERROR] Aborting

이를 작성하고 적절한 권한을 적용하여 해결하십시오.

sudo mkdir -p /var/log/mysql
sudo touch /var/log/mysql/error.log
sudo chown -R _mysql:mysql /var/log/mysql/

MySQL 재시작

brew services restart mysql@5.7

문제가 해결되었습니다.

mysql -uroot -proot

0

많은 솔루션을 시도한 후에 마침내 트릭을 한 것은 IP로 연결하는 것 같습니다. 더 이상 파일 소켓이 임의로 삭제되지 않습니다.

다음과 같이 MySQL 클라이언트 구성을 업데이트하십시오 (예 :) /usr/local/etc/my.cnf.

[client]
port = 3306
host=127.0.0.1
protocol=tcp

-4
  1. MySQL을 제거하십시오.
  2. 를 제거하십시오 /usr/local/var/mysql/.
  3. MySQL을 설치하십시오.

1
이것이 당신이 가진 모든 데이터베이스를 날려 버리지 않습니까? 특히 MySQL이 실행되지 않는 문제 일 것입니다.
Martin Tournoij

그렇습니다. 그러나 질문에 따라 이것은 새로 설치되었으므로 데이터베이스가 없을 것이라고 가정했습니다.
Amod Kulkarni 2019
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.