[mysql] 소켓 ‘/var/mysql/mysql.sock’을 통해 로컬 MySQL 서버에 연결할 수 없습니다 (38).

mysql에 연결하는 데 큰 문제가 있습니다. 내가 실행할 때 :

/usr/local/mysql/bin/mysql start

다음과 같은 오류가 있습니다.

Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38)

나는이 있습니까 mysql.sock세 이하 /var/mysql디렉토리.

에서 /etc/my.cnfI 있습니다 :

[client]
port=3306
socket=/var/mysql/mysql.sock

[mysqld]
port=3306
socket=/var/mysql/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M

그리고 /etc/php.ini나는 가지고있다 :

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket = /var/mysql/mysql.sock

나는 아파치를 다시 시작했다. sudo /opt/local/apache2/bin/apachectl restart

그러나 여전히 오류가 있습니다.

그렇지 않으면, 그와 관련이 있는지 모르겠지만 내가 할 때 mysql_config --sockets내가 얻을

--socket         [/tmp/mysql.sock]



답변

my.cnf 파일 (일반적으로 / etc / mysql / 폴더에 있음)이 올바르게 구성되어있는 경우

socket=/var/lib/mysql/mysql.sock

다음 명령으로 mysql이 실행 중인지 확인할 수 있습니다.

mysqladmin -u root -p status

mysql 폴더로 권한을 변경하십시오. 로컬에서 작업중인 경우 다음을 시도해보십시오.

sudo chmod -R 755 /var/lib/mysql/

나를 위해 그것을 해결


답변

mysql 서버뿐만 아니라 mysql도 설치했는지 확인하십시오.

예를 들어 mySql 서버를 설치하려면 yum 또는 apt를 사용하여 mysql 명령 줄 도구와 서버를 모두 설치합니다.

yum -y install mysql mysql-server (or apt-get install mysql mysql-server)

MySQL 서비스를 활성화하십시오 :

/sbin/chkconfig mysqld on

MySQL 서버를 시작하십시오 :

/sbin/service mysqld start

그런 다음 MySQL 루트 비밀번호를 설정하십시오.

mysqladmin -u root password 'new-password' (with the quotes)

도움이 되길 바랍니다.


답변

나를 위해 일한 빠른 해결 방법 : mysql_connect ()에서 ‘localhost’대신 로컬 IP 주소 (127.0.0.1)를 사용해보십시오. 이것은 PHP를 유닉스 소켓 대신 TCP / IP를 통해 연결하도록 “강제”합니다.


답변

다음과 같은 오류가 발생했습니다

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

여러 가지 방법을 시도하고 마침내 다음과 같은 방법으로 해결했습니다.

sudo gksu gedit /etc/mysql/my.cnf

수정

#bind-address       = 127.0.0.1

bind-address        = localhost

그리고 다시 시작

sudo /etc/init.d/mysql restart

그것은 효과가 있었다


답변

mysqld를 실행 중인지 확인하십시오. /etc/init.d/mysql start


답변

문제가 발생하지 않도록하려면 서버 전원을 끄지 말고 명령 줄에서 서버를 정상적으로 종료해야합니다.

shutdown -h now

머신 전원을 끄기 전에 실행중인 서비스를 중지합니다.

Centos를 기반으로이 문제가 발생했을 때 다시 백업하는 추가 방법은 mysql.sock을 옮기는 것입니다.

mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak

service mysqld start

서비스를 다시 시작하면 mqsql.sock이라는 새 항목이 작성됩니다.


답변

파일에 cron 작업을 설정할 때이 오류가 발생했습니다. 파일 권한을 777로 변경 했지만 여전히 작동하지 않습니다. 마침내 나는 해결책을 얻었다. 다른 사람들에게 도움이 될 수 있습니다.

이 명령으로 시도하십시오 :

mysql -h 127.0.0.1 -P 3306 -u 루트 -p

-h는 호스트를 , -P는 포트를 , -p는 비밀번호를 의미합니다.