Linux에서 MariaDB를 소스로 설치하는 방법에 대해 알아봅니다.
MariaDB-5.5.29 Stable 기준으로 작성되었으며 그외는 다소 차이가 있을수 있습니다.

우선 MariaDB가 무엇인지 궁금 하시는 분들을 위해 설명드리겠습니다.

MariaDB는 오픈소스의 관계형 데이터베이스 관리 시스템(RDBMS)이고 MySQL과 동일한 소스 코드를 기반으로 있으며 GPL v2 라이선스를 따르고 있습니다.

MariaDB가 생겨난 것이 MySQL의 창업자 중 한 명이자 핵심 개발자였던 마이클 와이드니어스는 MySQL Ab사가 SUN에 인수되면서 개발지침 등에 대한 의견 차이가 생기자, 2009년 동료 몇 명과 함께 SUN을 떠나 Monty Program Ab사를 설립하고 MariaDB 개발을 시작하게 됐다고 합니다.

– 위키백과 참고 –

 

1. CMAKE 설치

구지 CMAKE까지 소스 컴파일 할필요는 없는지라 사용하시는 리눅스 패포판의 패키지 매니저로 설치하시거나 Binary로 설치하시는 방법을 추천드립니다.

– CentOS

[root@yongbok ~]# yum install -y cmake

 

– Debian, Ubuntu

[root@yongbok ~]# apt-get install -y cmake

 

Binary로 설치시 아래 주소에서 바이너리 파일을 다운로드 합니다.
http://www.cmake.org/cmake/resources/software.html

[root@yongbok ~]# cd /usr/local/src
[root@yongbok ~]# wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2-Linux-i386.tar.gz
[root@yongbok ~]# tar xzvf cmake-2.8.10.2-Linux-i386.tar.gz
[root@yongbok ~]# mv cmake-2.8.10.2-Linux-i386 /usr/local/cmake
[root@yongbok ~]# ln -s /usr/local/cmake/bin/cmake /usr/local/bin/cmake

 

2. MariaDB 설치
https://downloads.mariadb.org/ 에서 stable을 다운로드 합니다.

[root@yongbok ~]# cd /usr/local/src
[root@yongbok ~]# wget http://mirror.yongbok.net/mariadb/mariadb-5.5.30/kvm-tarbake-jaunty-x86/mariadb-5.5.30.tar.gz
[root@yongbok ~]# tar xzvf mariadb-5.5.30.tar.gz
[root@yongbok ~]# cd mariadb-5.5.30

 

build 디렉토리를 생성한후 컴파일 합니다.

[root@yongbok ~]# mkdir build
[root@yongbok ~]# cd build
[root@yongbok ~]# cmake .. \
-DWITH_READLINE=1 \
-DWITH_SSL=bundled \
-DWITH_ZLIB=system \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_ARIA_STORAGE_ENGINE=1 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATEDX_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \
-DMYSQL_DATADIR=/usr/local/mariadb/data

컴파일 및 설치합니다.

[root@yongbok ~]# make ; make install

 

3. 설정
– 사용자 및 그룹 생성

[root@yongbok ~]# groupadd -g 27 -o -r mysql
[root@yongbok ~]# useradd -M -g mysql -o -r -d /usr/local/mariadb/data -s /bin/false -c “MariaDB” -u 27 mysql

 

– 디렉토리 생성 및 권한 설정

[root@yongbok ~]# mkdir -p /usr/local/mariadb/InnoDB/{redoLogs,undoLogs,ib_data}
[root@yongbok ~]# chgrp -R mysql /usr/local/mariadb
[root@yongbok ~]# chown -R mysql /usr/local/mariadb/data
[root@yongbok ~]# mkdir /usr/local/mariadb/logs /usr/local/mariadb/tmp
[root@yongbok ~]# chown mysql:mysql /usr/local/mariadb/{tmp,logs}

 

– MariaDB system table 설치

[root@yongbok ~]# cd /usr/local/mariadb/scripts
[root@yongbok ~]# ./mysql_install_db –basedir=/usr/local/mariadb –datadir=/usr/local/mariadb/data
[root@yongbok ~]# chown -R mysql:mysql /usr/local/mariadb/data

 

– mysqld startup script 설정

[root@yongbok ~]# cd /usr/local/mariadb/support-files
[root@yongbok ~]# cp mysql.server /etc/init.d/mysqld

 

* CentOS

[root@yongbok ~]# chkconfig –add mysqld

 

* Debian, Ubuntu

[root@yongbok ~]# update-rc.d mysqld defaults

 

– library 등록

[root@yongbok ~]# echo “/usr/local/mariadb/lib” > /etc/ld.so.conf.d/mysql.conf

 

* 64bit의 경우

[root@yongbok ~]# cd /usr/local/mariadb
[root@yongbok ~]# ln -s lib lib64

 

– my.cnf 생성

[root@yongbok ~]# cd /usr/local/mariadb/support-files
[root@yongbok ~]# cp my-huge.cnf /etc/my.cnf

 

– 주요 명령어 등록

[root@yongbok ~]# ln -s /usr/local/mariadb/bin/mysql /usr/local/bin/mysql
[root@yongbok ~]# ln -s /usr/local/mariadb/bin/mysqladmin /usr/local/bin/mysqladmin
[root@yongbok ~]# ln -s /usr/local/mariadb/bin/mysqldump /usr/local/bin/mysqldump

 

4. MariaDB 실행

[root@yongbok ~]# /etc/init.d/mysqld start
Starting MySQL

 

– Root password 설정

[root@yongbok ~]# mysqladmin -u root password ‘new-password’

 

Thanks :D