ohjongsung's Dev Story

Ohjongsung's Dev Story

Ubuntu 16.04.1 LTS에 Maria DB 설치하기

2017년 06월 04일

널리 알려진 것처럼 Maria DB는 MySQL 커뮤니티 버전을 기반으로 만든 DB 이다. 최근에는 MySQL의 완벽한 드롭인 대체품으로 인정받고 있다. 이 글을 작성해서 Ubuntu Server에 Maria DB를 설치한 경험을 공유한다.

Maria DB는 Ubuntu 저장소 또는 공식 Maria DB 미러를 사용해서 설치할 수 있다.

Ubuntu 저장소를 통한 Maria DB 설치

sudo apt-get update
sudo apt-get install mariadb-server

공식 미러를 통한 Maria DB 설치

Maria DB는 공식 설치 프로그램 패키지를 제공한다. Maria DB 다운로드 화면에서 선택하여 다운로드 할 수 있다. 이 글의 제목과 똑같은 조건이라면 굳이 링크를 참고할 필요없이 터미널에서 아래의 명령을 실행한다.

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.kaist.ac.kr/mariadb/repo/10.1/ubuntu xenial main'

키를 가져오고 저장소가 추가되었으면, 이제 Maria DB를 설치할 수 있다.

sudo apt-get update
sudo apt-get install mariadb-server

Maria DB 보안

설치가 끝난 Maria DB에 접속하기 전에 다음과 같은 방법으로 MariaDB 의 보안을 향상시킬 수 있다.

sudo mysql_secure_installation
  • 루트 계정의 암호를 설정할 수 있다.
  • 로컬 호스트 외부에서 루트 계정 액세스를 막을 수 있다.
  • 익명 사용자 계정을 제거 할 수 있다.
  • 테스트 데이터베이스 (기본적으로 모든 사용자, 심지어 익명 사용자가 액세스 할 수 있음) 및 모든 사용자가 test_로 시작하는 이름을 가진 데이터베이스에 액세스 할 수있는 권한을 제거 할 수 있다.

Maria DB 연결

다음 명령을 통해 Maria DB 인스턴스에 접속한다.

mysql -u root -p

프롬프트가 표시되면 설치 중에 설정 한 root 계정의 비밀번호를 입력한다. 정상적으로 입력했으면 Maria DB Shell을 얻게 된다.

사용자 및 권한 설정

아래의 명령어를 참고해서 ‘user’ 와 ‘password’ 부분을 수정해서 실행하면 된다.

로컬 사용자 생성

create user 'user'@'localhost' identified by 'password';

로컬 및 원격 사용자 생성

create user 'user'@'%' identified by 'password';

특정 또는 모든 DB 권한 설정

database_name 을 원하는 DB 명으로 수정해서 실행하면 된다.

grant all privileges on database_name.* to 'user'@'%'; //특정 DB
grant all privileges on *.* to 'user'@'%'; //모든 DB

flush privileges;

UTF-8 설정

/etc/mysql/my.cnf 파일에 아래 내용 입력한다.

[client]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci

원격 접속 설정

/etc/mysql/my.cnf 파일에서 ‘bind-address = 127.0.0.1’ 를 찾아 주석처리한다.

#bind-address = 127.0.0.1

원격 접속을 위해선 port 3306을 열어야 한다. 나는 AWS의 인바운드 정책 수정으로 포트를 열었다. 이제 필요한 설정이 끝났으면 Maria DB를 재시작한다.

sudo service mariadb restart

Reference