mysql.sock을 찾을 수 없습니다.
.mysql을 켜는 데 문제가 있습니다.소켓(mysql.sock)을 찾을 수 없습니다.을 사용하다Mac OS X 10.4 mac mac mac음 。locate mysql.sock
, 다시 돌아오다./private/tmp/mysql.sock
소켓 파일이 그 위치에 있는 것은 당연하지만 실제로는 존재하지 않습니다.
소켓 파일은 어떻게 찾을 수 있나요?
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
'IT' 카테고리의 다른 글
php 정적 함수 (0) | 2023.02.06 |
---|---|
실행 중인 스크립트의 상위 디렉토리 가져오기 (0) | 2023.02.06 |
Larabel 5.4 및 Mariadb에서 너무 많은 연결 오류 발생 (0) | 2023.02.06 |
PHP를 사용하여 오류 404 페이지를 만드는 방법 (0) | 2023.02.06 |
PHP에서 문자열의 일부를 제거하려면 어떻게 해야 합니까? (0) | 2023.02.06 |