MariaDB 설치하기

Posted 2013. 2. 6. 15:21

오늘은 MariaDB를 사용 해 보려고 계획을 세웠습니다.


1. 우선 다운로드 합니다. 관련 문서가 많지만 영어가 되시는 분, 그리고 꼼꼼하신분은 읽어보시길...

https://downloads.mariadb.org/mariadb/5.5.29/

현재 기준으로 5.5.29가 Stable 버전입니다. 

설치할 OS에 맞는 패키지를 다운로드 해야 합니다. 

각 OS의 특성을 고려해서 패키지를 만든게 아닌가 생각되네요. 

DBMS의 특성상 OS에 최적화가 되지 않으면 성능을 내기 어려우니까요.(당연한 얘기인가요? ㅎㅎㅎ)

http://download.nus.edu.sg/mirror/mariadb/mariadb-5.5.29/


처음엔 다운로드를 해서 rpm으로 설치를 하려고 했다가 설치문서중에 yum 설치가 가능하다고 해서 급 계획 변경.

CentOS 5, 6, RHEL 5, 6, Fedora 16, 17 에서는 yum으로 설치할수도 있습니다.


/etc/yum.repos.d/MariaDB.repo 파일을 생성합니다.


[root@TestFtp yum.repos.d]# vi MariaDB.repo 


# MariaDB.repo


[mariadb]

name=MariaDB

baseurl=http://yum.mariadb.org/5.5/centos6-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1


잠깐~ 혹시 기존에 MySQL이 설치되어 있었다면 먼저 제거합니다. 

yum remove mysql


yum install MariaDB

===========================================================================================

 Package                 Arch            Version                    Repository        Size

===========================================================================================

Installing:

 MariaDB-compat          x86_64          5.5.29-1                   mariadb          2.7 M

     replacing  mysql-libs.x86_64 5.1.66-2.el6_3

 MariaDB-server          x86_64          5.5.29-1                   mariadb           33 M

     replacing  mysql.x86_64 5.1.66-2.el6_3

     replacing  mysql-server.x86_64 5.1.66-2.el6_3

Installing for dependencies:

 MariaDB-common          x86_64          5.5.29-1                   mariadb           23 k

 libaio                  x86_64          0.3.107-10.el6             base              21 k


Transaction Summary

===========================================================================================

Install       4 Package(s)


처음 y 를 입력하면 GPG key를 Import 합니다.

Downloading Packages:

warning: rpmts_HdrFromFdno: Header V3 DSA/SHA1 Signature, key ID 1bb943db: NOKEY

Retrieving key from https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

Importing GPG key 0x1BB943DB:

 Userid: "Daniel Bartholomew (Monty Program signing key) <dbart@askmonty.org>"

 From  : https://yum.mariadb.org/RPM-GPG-KEY-MariaDB


테스트를 하려면 MariaDB-Client도 설치합니다.

설치가 완료되면 접속을 해봅니다.

[root@TestDB ~]# mysql -u root -p

Enter password: 

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 3

Server version: 5.5.29-MariaDB MariaDB Server


Copyright (c) 2000, 2012, Oracle, Monty Program Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MariaDB [(none)]> 

비밀번호는 root의 시스템 비밀번호를 그대로 사용합니다.

사용은 MySQL 명령어를 그대로 사용합니다.


SQLyog에서 테이블 생성시 지원하는 Table type을 살펴봤습니다.


[MySQL 5.5 Table type]


[MariaDB 5.5 Table type]


위의 MySQL5.5, 아래의 MariaDB5.5 비교입니다.

Default Table type 은  MySQL5.5와 마찬가지로 InnoDB입니다.

좀더 자세히 알아보기 위해 show engines 결과를 뽑아 봤습니다.

MariaDB [(none)]> show engines;

+--------------------+---------+------------------------------------------------+--------------+------+------------+

| Engine             | Support | Comment                                                                    | Transactions | XA   | Savepoints |

+--------------------+---------+------------------------------------------------+--------------+------+------------+

| CSV                | YES     | CSV storage engine                                                       | NO           | NO   | NO         |

| MRG_MYISAM  | YES     | Collection of identical MyISAM tables                              | NO           | NO   | NO         |

| MyISAM           | YES     | MyISAM storage engine                                                 | NO           | NO   | NO         |

| BLACKHOLE     | YES     | /dev/null storage engine (anything you write to it disappears)  | NO     | NO   | NO         |

| MEMORY         | YES     | Hash based, stored in memory, useful for temporary tables | NO           | NO   | NO         |

| FEDERATED     | YES     | FederatedX pluggable storage engine                               | YES         | NO   | YES       |

| ARCHIVE         | YES     | Archive storage engine                                                    | NO           | NO   | NO        |

| InnoDB           | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES | YES  | YES        |

| PERFORMANCE_SCHEMA | YES     | Performance Schema                                       | NO           | NO   | NO        |

| Aria                | YES     | Crash-safe tables with MyISAM heritage                             | NO           | NO   | NO        |

+----------------+---------+---------------------------------------------------+--------------+------+------------+


MySQL과 비교해서 눈에 띄는 엔진형식은 Aria 입니다.  

Aria에 대해서는 좀더 알아봐야겠습니다.

Aria storage engine 은 처음엔 Maria 로 불렸다가 혼란성을 줄이기 위해서 Aria로 변경되었습니다.

MariaDB 5.1 에선 MyISAM대신 Default Storage engine으로 사용되었습니다.

Comment를 보면 Crash-safe table 이라고 되어 있습니다. 보통 MyISAM을 사용하다보면 Table Crash 가 나는 경우가 있고 정기 점검하면서 이를 체크하곤 합니다. 또는 CHECKSUM=1 옵션을 주기도 하지요.

그냥 겉보기엔 MyISAM + CHECKSUM 인 Storage engine이 아닌가 생각됩니다.

그외 MyISAM에 비해 캐싱을 많이 하여 GROUP BY, DISTINCT에 대한 속도가 좋다고 합니다. 


Aria Storage Engine 에 대한 자세한 설명은 다음 링크를 참고

https://kb.askmonty.org/en/aria/


역시 MySQL과의 호환성을 무기로 내세울만 합니다.

MariaDB와 MySQL과의 버전별 호환성 / 비호환성에 대한 자세한 내용은 다음링크를 참고하세요.

https://kb.askmonty.org/en/mariadb-versus-mysql-compatibility/



다음엔 기존 MySQL과의 호환성여부를 체크해 보도록 하겠습니다.