본문 바로가기

Linux/Error Solution

mysql 에러 [libmysqlclient.so.15]

# "mysql: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory"


MySQL의 라이브러리를 열지 못한다는 메시지이다. 컴파일 할 때 MySQL의 동적 라이브러리를 사용하는데, 동적 라이브러리이므로 실행시에도 라이브러리가 필요하게 된다.
 
 libmysqlclient.so가 /usr/lib 혹은 /usr/lib/mysql 디렉터리에 존재하지 않을 경우에 발생하는 문제이다.
 
 가장 간단한 해결법으로는 모든 MySQL 라이브러리를 /usr/lib/나 /usr/local/lib 밑으로 복사하는 것인데 별로 추천하는 방법은 아니다.
 
 두 가지 방법이 있는데, 먼저 시스템의 운영자라면, /etc/ld.so.conf 파일에libmysqlclient.so가있는 경로(설치경로PATH/mysql/lib/mysql 에 있다)를 적어 준 후에 ldconfig 라는 명령을 프롬프트에서 실행하여 주면 된다.
echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf //요거로 바로 적을 수 있어효~^^

이러한 권한이 없는 일반 사용자라면, 자신의 쉘의 환경 변수를 이용하면 된다.
 
 각자의 쉘이 맞게, LD_LIBRARY_PATH를 libmysqlclient.so가 있는 디렉터리로 지정을 해주자.
 
 C 쉘 사용자는  setenv LD_LIBRARY_PATH  경로명 본/배시 쉘 사용자는 export LD_LIBRARY_PATH  경로명 이렇게 해주면 된다.