본문 바로가기
개발 이야기/리눅스 이야기

우분투18.04에 Mysql 5.7 ODBC 등록하기(unixodbc 설치, mysql-connector 설치, libmyodbc 설치 에러, Ubuntu, 데이터베이스)

by 런던살자 2019. 4. 24.

안녕하세요 마블랑입니다.

 

지난번 우분투에서 Mysql 계정을 추가하고 특정 테이블을 사용할수 있도록 권한을 추가하였습니다.

 

그래서 Mysql에 Root 계정을 사용하지 않고 사용자계정을 이용하여 접속할수 있습니다.

 

그런데 이렇게만 해서는 프로세스에서 데이터베이스를 바로 연결할수 없습니다.

 

그러므로 ODBC를 설치하여 프로세스에서 Mysql 데이터베이스를 연동하는 방법에 대해서 알려드리겠습니다~

 

 

처음에는 우분투에서 ODBC 드라이버를 사용할수 있도록 unixodbc를 설치해줍니다. unixodbc는 윈도우로 치면 ODBC 관리자라고 보시면 됩니다~

 

sudo apt-get install unixodbc unixodbc-dev unixodbc-bin 

 

unixodbc-dev와 unixodbc-bin 부분은 생략해도 괜찮습니다.

 

unixodbc 설치가 완료되면 /etc/odbc 에 odbc 설정파일이 보입니다. 

 

하지만 열어보면 내용은 비어져있습니다. 

 

ODBC 드라이버가 설치되면 드라이버 정보와 접속정보를 추가하면 됩니다.

 

 

이제 Mysql의 ODBC 드라이버를 설치해보겠습니다. 

 

sudo apt-get install libmyodbc

 

위 명령어를 이용하면 쉽게 Mysql ODBC 드라이버를 다운받을수 있지만 에러가 발생합니다.

 

이 에러는 Mysql버전이 libmyodbc 패키지에 포함되어 있지 않아서 발생한다고 합니다. (자세한 내용은 링크 참고)

그래서 다른 방법을 통해 Mysql ODBC 드라이버를 설치해보겠습니다.

 

포털사이트에서 검색을 통해 Mysql 홈페이지에 접속합니다.

 

Download 메뉴에서 Community 항목을 클릭합니다.

 

다운로드 가능한 목록이 쭈욱 나오는데 Mysql Connectors 를 클릭하여 리눅스 64bit버전을 다운받으시기 바랍니다. (운영체제에 맞게 다운받으시면 됩니다)

 

다운로드가 완료되면 압축을 해제합니다. 

 

tar -xvf mysql-connector-odbc-8.0.15-linux-glibc2.12-x86-64bit.tar.gz

 

 

압축이 해제된 ODBC를 우분투의 라이브러리 폴더로 복사를 합니다.

 

sudo cp mysql-connector-odbc-8.0.15-linux-glibc2.12-x86-64bit/lib/libmyodbc8* /usr/lib/x86_64-linux-gnu/odbc/

 

 

이제 복사한 ODBC드라이버를 드라이버 관리자에 등록하겠습니다.

 

sudo mysql-connector-odbc-8.0.15-linux-glibc2.12-x86-64bit/bin/myodbc-installer -d -a -n "(드라이버명)" -t "DRIVER=(드라이버경로)";

 

명령어가 길어 두 줄이 되었습니다. 아래 화면을 참고하여 수행하시기 바랍니다~

 

Mysql ODBC 드라이버를 등록하였으니 이제 DSN을 등록해보겠습니다~

 

sudo mysql-connector-odbc-8.0.15-linux-glibc2.12-x86-64bit/bin/myodbc-installer -s -a -c2 -n "(DSN명칭)" -t "DRIVER=(드라이버명);SERVER=(IP);DATABASE=mysql;UID=(ID);PWD=(PW)"

 

이 명령어도 아래 화면을 참고하여 수행하시기 바랍니다~

 

 

위 명령어까지 모두 수행하고 다시 ODBC 설정파일을 확인하면 등록한대로 ODBC 가 등록된것을 볼수 있습니다.

 

이번 포스팅을 진행하면서 libmyodbc 설치하는 부분에서 시간을 오래 잡아먹었습니다.

 

자바를 사용하면 jdbc를 사용하면 되지만 C 계열의 프로그래밍을 할 예정이라 odbc를 꼭 설정했어야 하기 때문에 여러가지 정보를 찾아보면서 결국에는 ODBC를 등록하였습니다 ^^

 

다음 포스팅은 C언어를 이용하여 DB에 연동하려고 합니다. 연동하면서 문제가 생기면 ODBC 문제일 가능성이 있으므로 직접 해보면서 잘못된 부분을 수정하여 다시 올리도록 하겠습니다~

 

 

그럼 마블랑이었습니다. 읽어주셔서 고맙습니다~

 

 

댓글