이상을 꿈꾸는 몽상가.. 프로그래밍을 좋아함..


MariaDB 외부접속 설정 & 계정 생성

mariadb10.1
( 이미지 출처 : https://downloads.mariadb.org )

MariaDB 외부접속을 하기 위해
어떠한 설정작업들이 있는지 확인해보고 작업방법에 대해서 간략하게 알아보자.


매번 세팅을 하면서 느끼는 것이지만..

기록은 중요하다.
특히, 세팅작업처럼 간혹가다가 발생하는 작업은 기록이 필수다.

DB 초기 세팅 및 외부접속 허용은 몇번이나 해봤던 작업인데
오늘도 한가지 작업을 까먹고 30분 가량을 헤맸다.

방화벽 설정

MariaDB port (default port : 3306) 에 대한 inbound 설정을 한다.

MariaDB 설정

/etc/mysql/my.cnf 설정 변경

bind_address 라인을 주석처리하거나 0.0.0.0 으로 세팅한다.

$ sudo vi /etc/mysql/my.cnf 

...

#bind_address=127.0.0.1 # 주석처리

...

MariaDB 재기동

$ sudo service mysql restart

계정생성 & 권한설정

외부 접속을 허용할 계정을 생성하고 권한을 준다.

root 계정으로 MariaDB 접속

$ mysql -u root -p

계정 생성

/* 내부 접속용 */
create user 'RemoteUser'@'localhost' identified by 'localPassword';

/* 모든IP 외부접속용 */
create user 'RemoteUser'@'%' identified by 'remotePassword';

/* 특정IP 외부접속용 */
create user 'RemoteUser'@'192.168.2.%' identified by 'remotePassword';
  • 내부와 외부 접속용 계정의 비밀번호는 다르게 세팅하는 것이 좋다.
    • 권한이 같으면 큰 의미 없다.
    • root 계정과는 무조건 다르게 세팅하자.

계정 생성 & 권한설정

/* 내부 접속용 */
grant all privileges on DB_NAME.* to RemoteUser@'localhost';

/* 모든IP 외부접속용 */
grant all privileges on DB_NAME.* to RemotUser@'localhost';

/* 특정IP 외부접속용 */
grant all privileges on DB_NAME.* to RemoteUser@'192.168.2.%';
  • 내부와 외부 접속용 계정의 권한은 다르게 세팅하는 것이 좋다.
  • 방화벽 설정과 마찬가지로 외부접속 IP가 고정된다면 특정지어 세팅하는 것이 좋다.

Associated Posts

관련된 주제를 살펴볼 수 있도록 동일한 Tag를 가진 글들을 모아뒀습니다. 제목을 눌러주세요.

  • How to install MariaDB 10.01 on Ubuntu 14.04 LTS


    mariadb10.1
    ( 이미지 출처 : https://downloads.mariadb.org )

    mariadb 5.5 가 ubuntu 기본 apt 패키지로 세팅이 되어있어서 저장소를 업데이트 후 새로 설치해야합니다.

    근데 좀 편하게 가려고 구글링해서 다른 사람들의 글을 보고 시도했더니 자꾸 실패하더군요.
    원인은 ubuntu version 마다 다른 저장소를 가지고 있기 때문이었습니다.

    결국 공식 사이트에서 내 ubuntu version에 맞는 설치가이드 문서를 제공받아서 설치 성공했습니다.

    기존에 mariadb 5.5 를 사용 중이었는데
    그 당시의 계정, database, table 모두 유지되서 설치되네요.


i