오픈소스 Database의 대명사인 Maria DB (구. MySQL)서버를 구축하는 방법에 대해 알아보도록 합니다.
일반적으로 DB를 설치한다고 하면, 웹서비스 등을 운영할 목적으로 APM(Apache+PHP+MariaDB)을 설치할때 사용됩니다.
APM을 통합설치하는 부분에 대해서는 차후 다시 설명하기로 하고, 여기서는 Maria DB 설치하는 방법에 대해 간략히 알아보도록 하겠습니다.
■ Maria DB 설치
먼저 아래의 apt 명령으로 Mariadb를 설치합니다.
$ sudo apt-get install mariadb-server
패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 다음 패키지를 더 설치할 것입니다: libdbi-perl libmariadbclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server-5.5 mariadb-server-core-5.5 mysql-common 제안하는 패키지: libmldbm-perl libnet-daemon-perl libplrpc-perl libsql-statement-perl mailx mariadb-test tinyca 추천하는 패키지: libdbd-mysql-perl libhtml-template-perl 다음 새 패키지를 설치할 것입니다: libdbi-perl libmariadbclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server mariadb-server-5.5 mariadb-server-core-5.5 mysql-common 0개 업그레이드, 9개 새로 설치, 0개 제거 및 309개 업그레이드 안 함. 9,877 k바이트/10.8 M바이트 아카이브를 받아야 합니다. 이 작업 후 114 M바이트의 디스크 공간을 더 사용하게 됩니다. 계속 하시겠습니까? [Y/n] y -- 이하 생략 -- |
설치 과정 중간에 mariadb의 root 패스워드를 지정하는 화면이 나옵니다.
적절한 패스워드를 지정하면, (이후 패스워드 재입력 화면이 나오면 동일하게 입력합니다.)
이후 설치가 마무리 됩니다.
※ [참고] 기본 repository에서 설치시 5.x 버전대의 mariadb가 설치됩니다.
최신 버전인 10.x 버전대를 설치하고자 한다면, mariadb 홈페이지를 방문하여 다운받거나, mariadb 홈페이지에서 제공하는 repository를 연결한 다음 apt 명령으로 설치할 수 있습니다.
https://downloads.mariadb.org/mariadb/repositories/
위 사이트에 접속해서 배포판 종류, MariaDB 버전, Mirror를 선택하면 그 아래에 repository 추가하는 방법이 안내됩니다.
"하모니카 2.1"은 Mint 17.3을 기반으로 하지만 목록에 17.3이 없으므로, 상위 배포판인 Ubuntu 14.04를 선택합니다.
■ Maria DB 접속
현재는 mariadb의 다른 user를 생성하지 않았으므로, mariadb의 root 계정으로 접속을 시도해 봅니다.
$ mysql -u root -p
Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 36 Server version: 5.5.49-MariaDB-1ubuntu0.14.04.1 (Ubuntu) Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> |
show database 명령으로 기본 설치되어 있는 database 목록을 확인해봅니다.
$ MariaDB [(none)]> show tables;
ERROR 1046 (3D000): No database selected MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.00 sec) |
mariadb 접속 상태에서 빠져나오려면, 아래와 같이 quit를 입력하면 됩니다.
MariaDB [(none)]> quit
Bye
■ Maria DB 설정
mariadb의 설정은 /etc/mysql/my.cnf 파일에서 이루어집니다. (Ubuntu 계열 기준)
가장 많이 사용하는 설정으로... mariadb의 기본 캐릭터셋(character-set)을 유니코드(UTF8)로 변경해보도록 합니다.
[mysqld] collation-server=utf8_unicode_ci default-character-set=utf8 character-set-server=utf8 init_connect=set collation_connection=utf8_unicode_ci init_connect=set names utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8 |
■ Maria DB 구동
mariadb 설정을 변경하였다면, 아래 명령으로 데몬 서비스를 재구동합니다.
$ sudo service mysql restart
※ 기타 MariaDB의 각 SQL 쿼리문 및 사용방법은 별도 안내서를 참조하시기 바랍니다.
[요약] MariaDB 설치
① 설치 : $ sudo apt-get install mariadb-server
※ mariadb root 패스워드 지정
② 접속 : $ mysql -u root -p
③ 종료 : MariaDB > quit
--------------------------------------------------------------
# 개인 서버 구축 가이드 - 전체 목록
[개인 서버 구축 가이드] ① SSH 서버 (openssh-server)
[개인 서버 구축 가이드] ② FTP 서버 (vsftpd)
[개인 서버 구축 가이드] ③ 파일 공유 서버 (samba-초급)
[개인 서버 구축 가이드] ④ 파일 공유 서버 (samba-중급)
[개인 서버 구축 가이드] ⑤ 파일 공유 서버 (samba-고급)
[개인 서버 구축 가이드] ⑥ 파일 공유 서버 (nfs)
[개인 서버 구축 가이드] ⑦ 파일 공유 서버 (autofs)
[개인 서버 구축 가이드] ⑧ DB 서버 (mariadb)
--------------------------------------------------------------
마리아 DB는 MySQL를 대체하여 이미 많은 기업들이 일부 또는 전체 시스템에 도입하여 적용 중에 있는데, 참으로 서버에 관심있는 분에게 실제적인 도움되겠네요.
요즈음은 MySQL의 문제로 인해 APM의 M이 MariaDB로 대체되어 많이 활용되고 있습니다. 마리아 DB는 이미 유명한 업체에서도 일부 서버에 적목하여 공식적으로 테스팅을 거켜서 합격점을 받을 정도로 안정적이며 MySQL을 거의 그대로 쓴다고 보시면 되기 떄문에, 매우 유용한 SQL DB가 되겠습니다.
'오픈소스 SW' 공공부문 확산 조짐
http://www.dt.co.kr/contents.html?article_no=2016042702101460718001
이 기사를 참고하면 마리아DB 도입에 대한 기사를 확인할 수 있습니다. 다양한 곳에서 마리아DB가 도입되거나 또는 고려 중에 있을 정도로 많은 곳에사 사용 중에 있습니다.
http://db-engines.com/en/ranking
데이타 베이스 엔진 공식 사이트 데이타 베이스 랭킹 순위를 보면 마리아DB는 전 세계적으로 20위를 차지하고 있습니다. 나름 오픈 소스 DB치고는 인기가 높다고 보시면 되네요.
빅데이타 시대, 데이타 애널리스트 시대에 걸맞는 데이타 분석이 필수가 된 시대에 이젠 DB 관리는 참 중요하지요.
legoboss님의 노력이 참 많은 사람에게 유익을 주겠군요.