본문 바로가기
Linux/Ubuntu

[Ubuntu] MariaDB 설치 및 구성

by 사용자 원동호 2021. 6. 11.

개발 환경 : ubuntu 18.04 LTS.

 

1. MariaDB 설치

apt-get install -y mariadb-server

 

2. mariadb 캐릭터셋, collation 설정 변경

# 편집기를 이용하여 50-server.cnf 파일을 연다.
vi /etc/mysql/mariadb.conf.d/50-server.cnf

# 기본 으로 아래의 설정으로 되어있음.
character-set-server = utf8mb4

#기본은 utf8mb4_general_ci 이지만 이모지를 처리할수없음.
collation-server = utf8mb4_general_ci 

# 아래의 collation설정은 이모지 처리가능.
# utf8mb4_unicode_ci

# 설정 저장 후 재시작하면 적용됨.
service mysql restart

https://blog.lael.be/post/917

위 블로그에서 characaterset, collation에 대해 자세히 설명되어 있다.

 

 

3. 외부접근 설정

1) UFW 설정

# 기본 mariadb 포트는 3306이므로 in, out 허용 설정해준다.
sudo ufw allow in 3306/tcp (mysql 포트 추가)
sudo ufw allow out 3306/tcp (mysql 포트 추가)

2) bind-address 수정

# 아래 명령어를 실행해보면 bind-address가 127.0.0.1(local)로 되어있어 외부에서 접근이
# 불가능한 상태이다. 이부분을 0.0.0.0 으로 수정해 외부 모든 주소가 접속할 수 있게 수정한다.
sudo netstat -ntlp | grep mysqld

# 편집기로 50-server.cnf 파일을 연다.
vi /etc/mysql/mariadb.conf.d/50-server.cnf

# bind-address 항목(기본 127.0.0.1)을 0.0.0.0 으로 수정한다.
bind-address 127.0.0.1 -> 0.0.0.0 으로 변경

 

4. MariaDB 계정 확인

1) 계정 확인하기

select host, user from user;

 

2) 계정 생성하기

# root 계정으로 mariadb 에 진입한다.
# 아래 명령어로 계정명, IP주소, 비밀번호를 입력한다.
create user '계정명'@'접속IP 주소' identified by '사용할 비밀번호';

# 계정 생성 후 권한을 부여한다.
grant all privileges on 부여할DB명.* to 'mariadb계정명'@'접속IP 주소'

# 저장하기
flush privileges;

외부에서 접속할 계정을 생성해준다. bind-address를 0.0.0.0 으로 변경하여 모든 외부접근이 가능하지만 아래와 같이 root 계정은 127.0.0.1(로컬에서만 접속가능)으로 되어있고, 새로 만든 계정은 IP주소와 매핑했기때문에 지정한 IP주소에서 접근한 계정에서만 DB에 접근이 가능할것이다.

 

5. MariaDB 계정 삭제

drop user 'user'@'접속위치';

 

도움이 되셨다면 댓글과 하트 부탁 드립니다♥

댓글0