Search Results for '마리아DB'

2 POSTS

  1. 2013.02.06 MariaDB vs MySQL과의 호환성 체크 1
  2. 2013.02.06 MariaDB 설치하기

MariaDB vs MySQL과의 호환성 체크

Posted 2013. 2. 6. 18:09

지난번 설치와 관련한 글에 이어 이번엔 기존 MySQL과의 호환성에 대한 몇가지 테스트를 해보고자 합니다.


우선 이전글에서 설치시 MySQL을 삭제해야 합니다. MySQL을 삭제하더라도 기존에 사용중인 Data부분은 삭제되지 않습니다.

삭제전에 my.cnf 파일을 다른파일로 변경해놓습니다. 

그리고 MariaDB설치가 완료되면 my.cnf로 다시 변경해놓습니다.

yum으로 설치하니 MariaDB-Client는 설치가 되지 않습니다.

MariaDB-Client는 별도로 설치해줍니다.


~#]mysql -u root -p[비밀번호]  로 접속합니다.


여기까지는 지난번 글에도 해당되는 내용이니 패스~


우선 데이터베이스 선택, 생성, table 생성, 조회등의 기본 명령어는 완벽하게 동일합니다.


Windows에서 Client Tool로 사용하던 SQLyog 을 이용해서 접속해서 몇가지 테스트를 해봤으나 현재까진 완벽히 호환됩니다.


기존 MySQL에서 사용하던 데이터베이스도 그대로 사용가능합니다.

show databases를 하면 목록에 자연스럽게 나옵니다.


이번엔 MySQL dump 파일을 import 해봤습니다. 

SQLyog 및 mysql command를 사용해도 동일한 결과입니다. 모두 OK.


이전 문서를 보니 5.1에 비해서 5.3을 거쳐 5.5로 버전업되면서 오히려 MySQL과의 호환성은 더 좋아진듯합니다.


결론 : 현재까지 써본 결과로는 MariaDB는 MySQL과 같은 핏줄을 나눈 형제라기 보단 일란성 쌍둥이라는 느낌입니다.


이름은 마리아라서 여성의 느낌입니다만...


자세한 내용은 MariaDB홈페이지 및 "Monty에게 물어보세요."를 참고하세요.


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





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과의 호환성여부를 체크해 보도록 하겠습니다.