IT

mysql.sock을 찾을 수 없습니다.

itgroup 2023. 2. 6. 23:24
반응형

mysql.sock을 찾을 수 없습니다.

.mysql을 켜는 데 문제가 있습니다.소켓(mysql.sock)을 찾을 수 없습니다.을 사용하다Mac OS X 10.4 mac mac mac음 。locate mysql.sock, 다시 돌아오다./private/tmp/mysql.sock소켓 파일이 그 위치에 있는 것은 당연하지만 실제로는 존재하지 않습니다.

  1. 소켓 파일은 어떻게 찾을 수 있나요?

  2. locate가 잘못된 위치를 반환하는 경우 메모리 및 인덱스를 가지고 있어야 합니다.인덱스를 새로 고치려면 어떻게 해야 하나요?

질문의 첫 번째 부분에 대한 답변:

달려.

% mysqladmin -p -u <user-name> variables

'displict' 변수를 확인합니다.

이것으로 문제가 해결되었다

mysql_config --socket

갱신하다

mysql_config는 mysql.dll 파일의 위치를 알려줄 수 있지만, 제 경우에는 파일이 존재하지 않았습니다.my.cnf: 를 삭제했습니다.

sudo rm -rf /etc/my.cnf

그런 다음 mysql을 다시 시작합니다.

brew services restart mysql

파일이 생성되어 현재 mysql이 정상적으로 실행되고 있습니다.

이것으로 알게 되었습니다.

netstat -ln | grep mysql

Mac OSX

MySQL 데몬이 시작되면 소켓 파일이 자동으로 생성됩니다.

찾을 수 없는 경우는, 격납되어 있는 디렉토리가 존재하지 않거나, 그 외의 파일 시스템의 문제로 소켓을 작성할 수 없게 되었을 가능성이 높습니다.

파일의 위치를 확인하려면 , 다음의 순서에 따릅니다.

% mysqld --verbose --help | grep ^socket

제 문제도 mysql.sock 파일입니다.

drupal 설치 과정에서 사용할 데이터베이스를 말해야 했지만 데이터베이스를 찾을 수 없었습니다.

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

시스템은 mysql.discl을 검색하고 있지만 잘못된 디렉토리에 있습니다.

링크만 하면 됩니다;)

모든 중요한 정보를 검색하는데 많은 시간이 걸렸지만 적응하는 방법을 알아내는 데 몇 시간이나 걸렸지만 이제는 결과를 제시할 수 있습니다.

ps를 ./tmp/mysql.sock-file php에 ( php.default.ini)가 여기서 php.ini(ph.default.ini)는 php.ini(ph.default.ini)를 사용합니다.pdo_mysql.default_socket= ...

다음 방법으로 정확한 경로를 얻었습니다.

netstat -ln | grep -o -m 1 -E '\S*mysqld?\.sock'

경로만 반환하고 입력은 필요하지 않으므로 셸 스크립트에서 사용할 수 있습니다.

이 기능이 작동하려면 현재 MySQL이 컴퓨터에서 실행 중이어야 합니다.MariaDB에도 대응합니다.

원래 질문은 a) 파일이 어디에 있는지, b) 파일이 어디에 있는지(locate 또는 grep를 실행해도 찾을 수 없는 이유)에 대한 혼란에서 비롯된 것 같습니다.Alnitak의 요점은 어디에 링크되어 있는지 찾고 싶다는 것이었다고 생각합니다만, GREP는 링크를 보여주지 않습니다.이 파일은 링크이기 때문에 포인터일 뿐이므로 존재하지 않습니다.아직 링크를 어디에 둘지 알아야 합니다.

Sock 파일은 확실히 /tmp에 있고 ERROR은 /var/lib/(/var뿐만 아니라)에서 찾고 있습니다.지금도 /var 및 /var/lib에 링크되어 있는데 "Cannot connect to local MySQL socket 'var/lib/mysql'이라는 오류가 나타납니다.sock'(2)

에러 뒤의 (2)에 주의해 주세요.다른 스레드에서는 소켓을 실제로 사용하려고 할 수 있지만 소켓 자체에 문제가 있어 머신을 완전히 셧다운하고 소켓을 닫는다는 것을 알 수 있었습니다.그럼 다시 시작하면 해결되겠네요.이렇게 해봤는데 잘 안 되더라고요(너무 빨리 재부팅한 거 아니에요? 정말이에요?)다른 사람에게도 해결책이 될 수 있을 것 같아요.

$ mysqladmin variables | grep sock

대신, 이 방법을 사용해 보십시오.이 방법은 요구된 결과를 출력하여 관련 없는 정보를 제거합니다.

Mac OS X 10.11.6에서도 동일한 오류가 나타납니다.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

많은 고민과 조언을 들었고, 관련된 질문도 해결이 되지 않는 것 같았지만, 다시 돌아가서 설치된 폴더를 삭제해 버렸습니다.brew install mysql.

대부분의 명령에서 여전히 동일한 오류가 발생하지만 다음과 같이 작동합니다.

/usr/local/bin/mysqld

및 반환:

/usr/local/bin/mysqld: 연결 준비 완료.

버전: '5.7.12' 소켓: '/tmp/mysql'양말' 포트: 3306 홈브루

실행한 위치의 데이터베이스를 새로 고치려면

/usr/libexec/locate.updatedb

mysql 소켓을 전혀 찾을 수 없었기 때문에 mysql 서버를 다시 설치했습니다(모든 테이블과 phmyadmin 설정은 유지되었습니다).명령어는 다음과 같습니다.

1) 설치

sudo apt-get install mysql-server

2) 단말기 구성 절차를 따릅니다.

sudo mysql_secure_installation

3) 상태 확인: ("Active: Active (실행 중)"을 반환해야 함)

systemctl status mysql.service

유감스럽게도 위의 어느 것도 제 경우에는 효과가 없었습니다.하지만 마침내 해결책을 찾았습니다.

mysql.sock 파일의 위치를 찾으려면 xampp manager를 열고 MySQL을 선택하고 오른쪽에 있는 Configure를 클릭합니다.구성 패널에서 Open Conf File을 클릭하고 CMD+F 바로 가기를 눌러 mysql.sock을 검색합니다.

제 경우 mysql.sock의 소유자가 변경되어 chmod root:admin mysql.sock을 사용하여 root admin으로 되돌려야 했습니다.

그 후 데이터베이스에 접속했습니다.

질문은 수 1번 리프레쉬를 locate의 파일 "syslog" "syslog" "syslog" "syslog" "syslog" "sys" "syslog" "syslog"

updatedb

언급URL : https://stackoverflow.com/questions/748478/cannot-find-mysql-sock

반응형