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.