'MariaDB Troubleshooting'에 해당되는 글 1건

  1. [MariaDB] ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.socket' (2)




Why ?

보통 이 문제의 경우는 MySQL 또는 MariaDB를 RPM으로 설치 했을 경우 자주 볼 수 있는 케이스입니다.

sock관련 에러는 현재 MySQL관련 커뮤니티에도 대략 300~600 개의 질의들이 등록되어 있지만, 명확한 답은 잘 알려지지 않고 임시방편인 아래방법만 많이 보편화 되어 있습니다.

하지만 아래와 같은 방법으로 해결할 경우 임시방편에 불과하며, 근본적인 문제인 디렉토리 퍼미션 문제를 해결하여 쉽게 사용 가능합니다.



How ?

MySQL을 Root 권한으로 돌리는건 보안상의 위험이 많이 있습니다. 그래서 기본으로 MySQL 유저의 권한으로 실행하게 되는데. mysql.sock 파일이 있는 디렉토리 소유권한이 없어 접근이 불가한 상태입니다. chmodchown 명령어를 통하여 권한을 변경하여 사용하면 됩니다.



Reproduce

    아래와 같이 해결합니다.

## 기존 임시 방편으로 사용하던 방법 :
[root@localhost ~]#  rm -rf /var/mysql/mysql.sock

## 근본적인 해결 방법 : 데몬을 기동합니다. (정상가동)
[root@localhost ~]# /etc/init.d/mysqld start
Starting MySQL                                             [  OK  ]

## Database로 접속을 시도합니다.
[root@localhost ~]# /usr/local/mysql/bin/mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.socket' (2)'

## 1. 데몬기동을 중지합니다.
[root@localhost ~]# /etc/init.d/mysqld stop
Shutting down MySQL.                                       [  OK  ]

## 2. 권한과 소유권자를 변경합니다.
[root@localhost ~]# chmod 755 -R /var/lib/mysql/
[root@localhost ~]# chown mysql:dba -R /var/lib/mysql/

## 3. 데몬을 재 기동합니다.
[root@localhost ~]# /etc/init.d/mysqld start
Starting MySQL..                                           [  OK  ]

## 4. 재 접속합니다.
[root@localhost ~]# /usr/local/mysql/bin/mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 1
Server version: 5.5.30-MariaDB Source distribution
Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 
MariaDB [(none)]> 


저작자 표시 비영리 동일 조건 변경 허락
신고