MySQL강좌10편: MYSQL 소켓파일 위치 지정하여 접속하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 5,607 조회
- 0 추천
- 목록
본문
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의 정상적인 실행과 정상적인 종료로 인하여 에러발생의 원인을 제거하는 것이다.
관련자료
-
이전
-
다음