1. 설치
설치는 yum을 통해 진행됩니다. MariaDB는 그 전용 저장소를 운영하고 있습니다. MariaDB가 운영하는 저장소를 추가하면 최신버전을 설치할 수 있습니다.
* MariaDB 저장소 추가
/etc/yum.repos.d/mariadb.repo 파일을 생성하여 아래 내용을 넣으면 됩니다.
# vi /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1
@ CentOS 7 기준의 저장소 URL 입니다. 다른 OS버전을 사용한다면 http://yum.mariadb.org/10.1/에서 선택하면 됩니다.
* MariaDB 설치
서버와 클라이언트를 설치해줍니다.
# yum install MariaDB-server MariaDB-client
* mariadb 서비스 활성화
재부팅시 자동으로 실행될 수 있게 서비스를 활성화합니다.
# systemctl enable mariadb
* mariadb 서비스 시작
# systemctl start mariadb
2. 설정
* 외부 접속을 위한 방화벽 설정 (선택)
외부에서 데이터베이스에 접속하기위해서는 방화벽에서 허용해줘야 합니다. 하지만 로컬에서만 사용할 경우에는 굳이 허용해줄 필요는 없습니다.
# firewall-cmd --permanent --add-service=mysql
# firewall-cmd --reload
* 데이터베이스 root 계정 비밀번호 설정 (보안설정)
초기설치시에는 데이터베이스 root 계정의 비밀번호가 없기때문에 누구나 접속할 수 있는 상태가 되버립니다. 그래서 반드시 비밀번호 설정을 해줘야 됩니다.
# mysql_secure_installation
@ 보안설정 명령어를 실행해보면 몇가지 물음과 새 비밀번호 설정이 나올텐데.. 현 비밀번호(current password)에는 그냥 엔터 치면 되고, 새 비밀번호는 그냥 설정하면 됩니다. 그리고 나머지 물음에는 [Y]를 입력하면 됩니다.
3. 데이터베이스 접속
MariaDB도 호환성을 위해 mysql와 같은 mysql 명령어를 사용합니다. 그럼 mysql 명령어로 데이터베이스에 접속해보겠습니다.
# mysql -u root -p
@ 위 명령어를 실행해보면 비밀번호를 입력하라고 나옵니다. 좀전에 설정한 데이터베이스 root 비밀번호를 입력하면 데이터베이스에 접속됩니다.
* 데이터베이스 보기 (예시)
데이터베이스를 보려면 접속한 상태에서 아래명령을 실행하면됩니다.
MariaDB [(none)]> show databases;
MariaDB [(none)]> exit;
@ 이외에도 데이터베이스 명령어가 많이 있습니다. 이런 명령어로 데이터베이스를 관리하면 됩니다.
4. phpMyAdmin
mysql 명령어로 DB에 접속하여 관리할 수 있습니다. 하지만 DB명령어도 알아야 하기때문에 즉시 마음대로 사용할 수 없어 많이 불편할 것입니다. 그러나 phpMyAdmin이라는 툴을 사용한다면 그런 불편함 해소될 수 있습니다.
phpMyAdmin는 mysql 웹 관리자로 불리며, 웹에서 DB를 관리할 수 있게 해주는 아주 좋은 도구입니다. 직접 명령어 쳐야하는 작업을 이제 클릭만으로 DB를 관리할 수 있게 되었습니다.
원래는 mysql 전용 툴이였으나, mysql와 MariaDB 밀접한 호완성으로 MariaDB에서도 사용할 수 있습니다.
* 설치
phpMyAdmin는 php 파일이므로 php가 설치되어야합니다. 그리고 phpMyAdmin 또한 유명한 툴이기때문에 yum 으로 설치할 수 있습니다. 저장소는 remi을 이용합니다.
# yum install phpMyAdmin
// 의존성있는 php 관련 모듈도 추가된 듯 하니, php-fpm도 한번 재시작해봅니다.
# systemctl restart php-fpm
* nginx 설정
이제 웹에서 볼 수 있도록 웹서버(nginx)와 연결을 시킵니다. yum으로 설치할 경우 원하는 경로에 설치할 수 없기때문에 설치경로는 모두 같습니다.
phpMyAdmin 경로 : /usr/share/phpMyAdmin
server { listen 80; server_name phpMyAdmin.conory.com; root /usr/share/phpMyAdmin; index index.php index.html index.htm; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root:/tmp/:/usr/share/:/etc/phpMyAdmin/:/var/lib/phpMyAdmin/"; include fastcgi_params; try_files $uri =404; } }
이런식으로 설정하면 됩니다. 그리고 설정이 반영되도록 nginx 재로드도 잊지 마세요.
* nginx 서비스 재로드
# systemctl reload nginx
* phpMyAdmin 설정
설정파일 : /etc/phpMyAdmin/config.inc.php
@ 설정파일에서 blowfish_secret 부분이 있는 데.. 이 설정은 쿠기 암호화에 관련된 있습니다. 즉, 보안문제입니다. 자세한 내용은 http://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator 참조바랍니다.
또한 $cfg['Servers'][$i]['auth_type'] 부분도 보안을 위해 cookie 대신 http로 값을 변경하세요.
$cfg['Servers'][$i]['auth_type'] = 'http';