소켓 '/tmp/mysql'을 통해 로컬 MySQL 서버에 연결할 수 없습니다.양말' (2)
MySQL 서버를 설치하고 연결을 시도했지만 다음 오류가 나타납니다.
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
/tmp 디렉토리를 확인했는데 mysql.sock이 없습니다.어디에서도 mysql.sock을 찾을 수 없습니다.그 안에 있을 거라고 읽었어요.
/var/lib/mysql/mysql.sock
하지만 그곳에서도 확인해보니 mysql 디렉토리는 없고 /lib 안에 몇 가지 포스트픽스만 있습니다.누가 이 문제를 도와줄 수 있나요?
MySQL 서버 시작을 시도합니다.
mysql.server start
OS X Yosemite 업데이트 후 동일한 질문을 받았습니다.솔루션은 매우 간단합니다.시스템 프리퍼런스를 체크해 주세요-> mysql, 상태는 STOP 입니다.재기동만 하면, Mac에서는 정상적으로 동작합니다.
MAMP의 경우
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
https://coderwall.com/p/w5kwzw/solved-can-t-connect-to-local-mysql-server-through-socket-tmp-mysql-sock 에서
업데이트: 컴퓨터를 재부팅할 때마다 이 명령을 입력해야 하기 때문에 바로 가기를 만들었습니다.
터미널 유형으로 다음을 수행합니다.
~: vi ~/.profile
더하다
alias ...='source ~/.profile'
alias sockit='sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock'
절약하다.
터미널 유형:
~: ...
설정을합니다.프로파일 설정
이제 터미널에서 입력만 하면 됩니다.
~: sockit
다음 명령으로 문제가 해결되었습니다.
sudo chown -R _mysql:mysql /usr/local/var/mysql
sudo mysql.server start
모든 솔루션을 시도해 본 후 호스트를 지정한 후 나에게만 작동했습니다.
mysql -u root -p -h127.0.0.1
패스워드를 요구할 때
Enter password:
Enter 키를 누르다
그리고 위와 같이 모든 것이 괜찮다면 그것은 작동할 것입니다.
몇 시간 동안 발버둥치고 나서 효과가 있었던 건
sudo mysql.server start
그런 다음 보안 설치를 수행합니다.
mysql_secure_installation
그런 다음 를 통해 DB에 연결합니다.
mysql -uroot -p
Mysql은 homebrew를 통해 설치되며 버전은
Server version: 5.7.21 Homebrew
버전에 따라 솔루션이 다를 수 있으므로 버전을 지정하면 도움이 될 수 있습니다.
이거 먹어봐, 나한텐 효과가 있었어.
sudo /usr/local/mysql/support-files/mysql.server start
/etc/my.cnf
한 후 시작합니다.mysqld
[client]
socket=/var/lib/mysql/mysql.sock
또한 이 관련 스레드를 확인합니다.
소켓 '/tmp/mysql.sock'을 통해 로컬 MySQL 서버에 연결할 수 없습니다.
다음으로 문제를 해결했습니다.
MySQL 서버가 어디에 목록되어 있는지 확인합니다.netstat - nlp TCP에 목록되어 있다면 "localhost" 대신 DB에 연결하는 동안 127.0.0.1을 사용하십시오.
MySQL 문서 확인
첫 번째 유형:
brew services start mysql
그러면 이 -:
mysql -uroot
다음과 같이 터미널을 입력합니다.
mysql.server start
Mac OS X에서 XAMPP를 사용하고 있으며 MySQL with Homebrew를 설치한 경우 이 문제가 발생할 수 있습니다.XAMPP 매니저 창에서 [Manage Servers](서버 관리)로 이동하여 [MySQL](MySQL)을 선택하고 [configure](구성)을 클릭하여 Configure(설정 파일)를 엽니다.소켓 파일 경로가 있습니다.MySQL 호스트 구성에 경로를 넣으면 동작합니다.
다음과 같습니다.
...
[client]
#password = your_password
port = 3306
socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
...
예를 들어 Django의 경우:
...
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME": "database_name",
"USER": "user",
"PASSWORD": "password",
"HOST": "/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock",
"PORT": "",
}
}
...
이게 도움이 됐으면 좋겠다.
첫째, 데이터 디렉토리가 어디에 있는지 아는 것이 관건이었다. /usr/local/var/mysql
여기에서는 로컬머신 이름 앞에 확장자가 .err인 파일이 하나 이상 있었습니다.진단에 필요한 모든 정보가 들어있었어요
mysql 8을 먼저 설치해서 망친 것 같아요.내 앱은 호환성이 없어서 5.7로 다운그레이드해야 했다.
제 솔루션은 /usr/local/etc/my.cnf로 되어 있었습니다.
거기 있으면 이 선을 찾아라.mysql 8과 관련된 것 같습니다.
mysqlx-bind-address = 127.0.0.1
mysql 5.7이 에러 로그에 「좋지 않다」라고 표시되어 있기 때문에, 삭제해 주세요.
또한 bind-address 아래에 없는 경우 이 행을 추가합니다.
socket=/tmp/mysql.sock
ㅇㅇㅇㅇㅇㅇ로 가보세요./tmp
mysql.mysql.mysql.mysql이다에, 「 파일」 「Sock」이 재생성됩니다.
mySQL을 사용하여 데이터 디렉토리를 폐기합니다.는 ★★★★★★★★★★★★★★★★★./usr/local/var/mysql
장소와
거기서부터 나는 달렸다.
>mysqld --initialize
그러다 모든 게 잘 풀리기 시작했어요이 명령어는 마지막에 임의의 패스워드를 제공합니다.다음 단계를 위해 해당 암호 저장
내 암호를 할당하기 위해 이 작업을 실행합니다.
>mysql_secure_installation
둘다요.
>brew services stop mysql@5.7
그리고.
>mysql.server start
동작하고 있습니다.이게 도움이 됐으면 좋겠다.3시간 정도 시행착오를 겪어야 해요.
터미널에서 mysql 서버를 중지하고 부팅하면 문제가 해결되었습니다.MacOS에서 mysql 서버를 정지 및 기동하기 위한 cmds를 다음에 나타냅니다.
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server start
참고: Mac 시스템 기본 설정에서 서비스를 다시 시작해도 Mac에서 문제가 해결되지 않았습니다.단말기에서 재기동을 시도합니다.
mysql 덤프를 가져오는 동안 동일한 문제가 발생했습니다.소켓 '/tmp/mysql.sock'을 통해 로컬 MySQL 서버에 연결할 수 없습니다.
mysql.sock 경로를 명시적으로 지정합니다.
ps -ef|syslogp -syslog 라고 입력합니다.
이 명령에서 mysql.sock 경로를 가져옵니다(예: /var/lib/mysql/mysql.sock).
mysqldump --mysqldump=/var/lib/mysqdump/mysqdump.mysqdump -u 사용자 이름
이것은 임의의 mysql 명령으로 실행할 수 있습니다.
CentOS의 경우 init mysql 파일은 다음 위치에 있습니다.
/etc/init.d/mysqld start
나는 이것을 하는 데 많은 시간을 들였다. django는 django를 사용합니다.python manage.py migrate
는 이 .
했어!! 내가 이걸 세팅했어ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
★★★★★★★★★★★★★★★★★★★!
나도 같은 문제에 직면했다.이렇게 고쳤습니다.
순서 1: 다음 명령을 사용하여 mysql을 삭제합니다.
brew uninstall --force mysql
순서 2: 명령어 실행brew doctor
맥주 패키지와 관련된 힌트를 얻을 수 있습니다.
3단계: 다음 명령을 사용하여 brew 패키지를 정리합니다.
brew cleanup
4단계: 다음 명령을 사용하여 이전에 설치된 mysql 데이터를 이동 또는 삭제합니다.
mv /usr/local/var/mysql/ /usr/local/var/old_mysql
스텝 5: 마지막으로 다음 명령을 사용하여 mysql을 다시 설치합니다.
brew install mysql
MacOS에서 실행 중인 경우 먼저 '시스템 기본 설정'으로 이동하여 MySQL이 실행 중인지 확인하는 것이 더 쉽습니다.
언급URL : https://stackoverflow.com/questions/22436028/cant-connect-to-local-mysql-server-through-socket-tmp-mysql-sock-2
'source' 카테고리의 다른 글
MySQL Workbench에서 열 플래그는 무엇을 의미합니까? (0) | 2022.11.25 |
---|---|
javascript 객체의 속성 서브셋을 가져오는 방법 (0) | 2022.11.25 |
가입 시 대용량 데이터 세트 쿼리(1500만 행 이상) (0) | 2022.11.25 |
가져오기가 있는 클래스를 확장합니다. (0) | 2022.11.25 |
MySQL의 InnoDB와 MyISAM은 무엇입니까? (0) | 2022.11.25 |