출처 : http://zetawiki.com/wiki/ERROR_2002_(HY000):_Can't_connect_to_local_MySQL_server_through_socket_'/var/lib/mysql/mysql.sock'
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
목차
문제상황 1: MySQL 설치 후[편집]
- 리눅스 MySQL 설치 문서를 참고하십시오.
- MySQL 설치 후, mysql 명령어로는 접속이 안되는 현상
[root@zetawiki ~]# mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[root@zetawiki ~]# find / -name mysql.sock
- → mysql.sock이 없다.
상황 1: MySQL 클라이언트만 설치됨[편집]
- mysql-server 설치 확인
[root@zetawiki ~]# rpm -qa | grep ^mysql
mysql-5.1.69-1.el6_4.x86_64
mysql-libs-5.1.69-1.el6_4.x86_64
- → mysql-server 패키지(서버)가 설치되어야 하는데, mysql 패키지(클라이언트)만 설치되어 있다.
- 해결방법
- 다음 명령어로 mysql-server 패키지를 설치하자.
yum install mysql-server
상황 2: mysqld가 시작되지 않음[편집]
[root@zetawiki ~]# rpm -qa | grep ^mysql
mysql-5.1.69-1.el6_4.x86_64
mysql-libs-5.1.69-1.el6_4.x86_64
mysql-server-5.1.69-1.el6_4.x86_64
- → mysql-server가 설치되어 있다.
[root@zetawiki ~]# service mysqld status
mysqld is stopped
- → mysqld 가 중지되어 있다.
다음 명령어로 실행하면 된다.
service mysqld start
문제상황 2: XAMPP 설치 후[편집]
- XAMPP 설치 후, 웹으로 볼 때는 잘 되는데 쉘에서 실행할 때는 mysql_connect가 되지 않는 현상
[root@zetawiki ~]# php update_0.php PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /root/update_0.php on line 2
확인[편집]
- mysql.sock의 위치를 확인
[root@zetawiki ~]# find / -name mysql.sock /opt/lampp/var/mysql/mysql.sock [root@zetawiki ~]# netstat -an | grep mysql unix 2 [ ACC ] STREAM LISTENING 780037 /opt/lampp/var/mysql/mysql.sock
- php.ini의 위치를 확인
[root@zetawiki ~]# find / -name php.ini /etc/php.ini /opt/lampp/etc/php.ini
- → 위에서 보듯이 php.ini가 2개 있다. 즉 이 서버에는 php가 2개 있다.
- → /opt/lampp/etc/php.ini에서는 /opt/lampp/var/mysql/mysql.sock로, /etc/php.ini에는 /var/lib/mysql/mysql.sock로 설정되어 있다.
- → 맨 위 현상에서 보듯이 lampp(XAMPP)에서 제공된 php 대신 기본설치되어 있던 php가 구동되고 있다.
해결 방법[편집]
- 해결 방법은 다음 2가지로 생각할 수 있다. XAMPP가 제공하는 php를 사용하든가, 위에서 사용했던 php가 찾는 /var/lib/mysql/mysql.sock를 /opt/lampp/var/mysql/mysql.sock로 심볼릭 링크를 걸어주는 방법이다.
방법 1[편집]
- XAMPP가 제공하는 php를 사용.
[root@zetawiki ~]# /opt/lampp/bin/php update_0.php
방법 2[편집]
- /var/lib/mysql/ 디렉토리를 생성
- mysql.sock 심볼릭 링크 설정
[root@zetawiki ~]# mkdir /var/lib/mysql/ [root@zetawiki ~]# ln -s /opt/lampp/var/mysql/mysql.sock /var/lib/mysql/mysql.sock [root@zetawiki ~]# ll /var/lib/mysql total 0 lrwxrwxrwx 1 root root 31 Feb 3 15:51 mysql.sock -> /opt/lampp/var/mysql/mysql.sock [root@zetawiki ~]# php update_0.php
'linux > APM' 카테고리의 다른 글
[ubuntu] Mysql 사용자 생성 (0) | 2015.11.19 |
---|---|
MySQL에 새 사용자 계정, 새 DB 만들기 dev. night (0) | 2015.11.19 |
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements (0) | 2015.11.19 |
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement (0) | 2015.11.19 |
configure: error: Don’t know how to define struct flock on this system, set –enable-opcache=no (0) | 2015.11.19 |