강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

MySQL강좌10편: MYSQL 소켓파일 위치 지정하여 접속하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

MySQL강좌10: MYSQL 소켓파일 위치 지정하여 접속하기

 

MYSQL데이터베이스를 관리하다 보면 여러가지 에러메시지를 경험하게 된다. 그 중 가장 흔한 메시지 가운데 하나가 “Can’t connect to local MySQL server…”이며 이로 인하여  MYSQL 서비스장애가 종종 발생할 수 있다. 아래 예를 보기 바란다.

 

[root@sulinux bin]#/usr/local/mysql/bin/mysql -u root -p mysql

Enter password: ********

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

[root@sulinux bin]#

 

위의 에러의 원인은 MYSQL의 소켓파일인 mysql.sock파일이 없거나 정확하지 않아서 발생하는 에러이다.   MYSQL이 실행되면 MYSQL의 소켓파일이 /tmp/디렉토리에 다음과 같이 생성이되어 있다. 이것이 가장 일반적인 경우이다.

 

[root@sulinux bin]#ls -l /tmp/mysql.sock

srwxrwxrwx 1 mysql mysql    0  4 28 07:18 mysql.sock

[root@sulinux bin]#

 

그리고 MYSQL이 종료되면 이 파일은 자동 삭제된다. “Can’t connect to local MySQL server…”에러메시지가 발생하는 경우에 그 원인은 MYSQL이 종료되어 있거나 또는 mysql.sock소켓파일의 위치가 다르기 때문이다.

 

첫번째의 원인이라면 MYSQL을 실행한 후에 접속하면 되겠지만 두번째의 원인이라면 다음과 같이 -S옵션을 사용하여 MYSQL의 소켓파일 mysql.sock의 위치를 정확하게 지정해주면 접속된다.

 

아래의 예는 mysql.sock파일의 위치가 /var/lib/mysql/mysql.sock이기 때문에 -S옵션을 사용하여 소켓파일의 위치를 정확하게 지정해 준 것이다. (여기서 S는 대문자 S이다.)

 

[root@sulinux bin]#ls -l /var/lib/mysql/mysql.sock

srwxrwxrwx 1 mysql mysql 0  4 28 07:18 /var/lib/mysql/mysql.sock

[root@sulinux bin]#

[root@sulinux bin]#/usr/local/mysql/bin/mysql -u root -p mysql -S /var/lib/mysql/mysql.sock

Enter password: ********

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 22

Server version: 5.1.32 Source distribution

 

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

 

mysql>

mysql> exit

Bye

[root@sulinux bin]#

 

이와같이 MYSQL의 가장 흔한 에러발생의 원인과 해결책을 알아보았다. 무엇보다 중요한 것은 MYSQL의 정상적인 실행과 정상적인 종료로 인하여 에러발생의 원인을 제거하는 것이다.

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,158 명
  • 현재 강좌수 :  36,517 개
  • 현재 접속자 :  358 명