Ubuntu 16.04.1 Lts에 Maria Db 설치하기
널리 알려진 것처럼 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