최근 데이터베이스 커뮤니티에서 주목받는 마리아 DB(Maria db)는 기존 Mysql에서 파생된 제품이다.

Mysql은 기존 썬(Sun)이 오라클에 인수되면서 같이 넘어갔다. 그러나 오라클이 썬을 인수한 후 자사 기존사업인 Oracle DB를 위해 Mysql에 대한 지원을 줄여나가다가 결국 사장시킬 것이란 추측이 무성했다. 실제로 Mysql에 대한 폐쇄적 정책이 취해지면서, 사용자들의 우려가 심해졌다. 

그래서 Mysql의 변종 제품들이 관심을 끌기 시작했다. Mysql이 오픈소스 소프트웨어이기 때문에 라이선스 조건만 준수한다면 누구나 Mysql 소스코드를 가져다 DB를 만들 수 있다. 마리아DB는 Mysql 창시자인 마이클 몬티 위드니우스 주도 아래 개발됐다. 때문에 Mysql과 동일한 코드에 기반하고 있고 사용방법이나 구조도 동일하다. 따라서 기존 Mysql과도 완벽하게 호환된다. 

구글, 위키피디아 등 대형 인터넷 서비스 기업들도 속속 마리아DB로 갈아타는 움직임을 보인다. 국내에서는 KT, 카카오, 삼성, SKT, 티켓몬스터, 네오위즈게임, 다음, 네이버 등이 Maria DB를 사용한다고 한다. 특히 카카오는 퓨전I/O와 마리아DB익스텐션을 사용해서 메시징 시스템의 속도를 5배이상 향상시켰다고 한다.

(참고 : http://www.oss.kr/oss_news/537516 )

Mysql(좌) MariaDB(우)
Mysql(좌) MariaDB(우)

여기에서는 Mac OS X 10.10.5 Yosemite에 MariaDB를 설치해본다.

1. 우선 가장 먼저 애플의 통합개발환경인 엑스코드(Xcode) 설치하여야 한다. 맥 앱스토어에서 다운로드하자. (바로가기 링크 : https://itunes.apple.com/kr/app/xcode/id497799835?mt=12 )

맥을 사용하는 개발자에게 Xcode는 필수
맥을 사용하는 개발자에게 Xcode는 필수

엑스코드를 설치했으면 홈브루(Homebrew) 를 이용할 수 있다. 브루는 오픈소스 패키지를 손쉽게 관리할 수 있도록 도와준다. 이를 이용하면 마리아 DB 는 물론 각종 패키지를 다운로드하거나 업데이트 할 수 있다. (우분투의 apt-get) 브루를 설치하는 방법은 공식 홈페이지인(http://mxcl.github.io/homebrew/ ) 에 접속하여 다운로드하거나, 아니면 터미널에서 다음의 명령어를 실행하면 된다.

단, 바이너리 파일을 받는게 아닌, 파일을 받아서 자체 컴파일을 시켜버리기 때문에 시간이 꽤나 걸릴수 있다. 브루 설치가 완료되면, 간단하게 업데이트를 한번 수행해주고, mariadb를 설치한다.

brew 설치 후 업데이트
brew 설치 후 업데이트

brew install mariadb 명령어를 사용하여 다음과 같이 설치한다. 의존성 패키지인 openssl등을 포함하여 자동으로 설치된다.

기본적인 관리 명령어는 다음과 같다.

맥의 경우, 서버가 부팅되면 MariaDB가 자동으로 실행될 수 있도록 MariaDB 스타트업 plist를 LaunchAgents 디렉토리에 링크시키는 것이 편리하다.

그리고, 위의 방법으로 실행했다면, mysql.server stop을 하는 즉시 자동으로 restart된다. 맥 운영체제에서 자동으로 프로세스를 관리하기 때문인 것 같다. 이는 가용성 측면에서 장점일 수 있지만, 관리상의 필요에 의해 의도적으로 종료하고자 할 때에도 자동으로 계속 켜지기 때문에 귀찮아진다. 이럴 경우 수동으로 종료하고 켜는 방법은 다음과 같다.

데이터베이스 접속은 mysql과 같다. mysql -uroot 를 사용하여 접속이 가능하다.

비밀번호를 묻지도 따지지도 않고 바로 접속?!
비밀번호를 묻지도 따지지도 않고 바로 접속?!

알다시피 이렇게 관리자 계정을 패스워드 인증 없이 로그인할 수 있도록 허용해서는 안된다. 그외의 기타 여러 보안설정은 다음 포스팅에서 계속하도록 한다.


+ 추가사항. 2015.10.23.

어떤 어플리케이션(owncloud 등)은 유닉스/리눅스 기준으로 /var/mysql/mysql.sock를 찾아 사용한다. 그런데, 맥에 설치한 경우 해당 위치가 아닌 /tmp/mysql.sock 에 존재한다. 이를 옮기는 것도 방법이겠으나, 혹시 설정이 꼬일 위험이 있으므로 심볼릭 링크를 사용하여 다음과 같이 생성해두면 된다.


+ 추가사항. 2016.5.10.

mac에서는 my.cnf 의 위치가 linux default와 다르다. 이걸 쉽게 찾기


+ 추가사항. 2016.6.17.

mac에서는 정말 고통의 연속인 것 같다.. 외부에서 접속이 안되는 문제 드디어 해결. 구글링해보면 다들 my.cnf만 언급하는데, 문제는 다른곳에 있었다. 우선 port 검사

위와같이 127.0.0.1:3306 으로 Listen 하고 있다면, Localhost에 대해서만 Open되어 있는 것이다. 문제를 해결하기 위에서는 (위에서 진행한대로 설치했다고 가정했을 때) homevrew.mxcl.mariadb.plist를 수정해야 한다.

가운데 줄의 <string>--bind-address=127.0.0.1</string> 을 0.0.0.0으로 바꿔준다. 그리고 디비 재시작~

접속하려는 곳에서 nmap {ip_address} -p 3306 -Pn 을 수행하여 해당 PORT가 Open인지 확인하면 된다.

CPUU님의 창작활동을 응원하고 싶으세요?