IT's 우

[MariaDB, 카카오 클라우드 스쿨 4주차 -1] OS에 MariaDB 설치, Docker에 MariaDB 설치, Dbeaber 본문

카카오 클라우드 스쿨 2기/database

[MariaDB, 카카오 클라우드 스쿨 4주차 -1] OS에 MariaDB 설치, Docker에 MariaDB 설치, Dbeaber

디우 2022. 11. 21. 12:46
728x90

데이터베이스 사용

로컬 데이터베이스 - 임시 저장

외부 데이터베이스 - 서버

 

SQLite나 Access는 로컬에 설치해서 사용 데이터를 빠르게 또는 OffLine 상태에서 사용하기 위한 목적

그 이외의 데이터베이스는 대부분의 경우 외부에 설치해서 애플리케이션 서버를 통해서 사용하거나 직접 사용(DBA나 Operator)

 

Docker는 회원 가입을 하고 설치

Windows에서 Docker

 

MariaDB

1. 개요

- SQL에 기반을 둔 RBDMS(관계형 데이터베이스)로 Open Source 형태로 제공

- MySQL 개발자가 만들어서 MySQL과 거의 유사

- SQL도 거의 차이가 없음

- 작업 단위

  • 데이터베이스 - > 테이블
  • 하나의 데이터베이스는 여러 유저가 공유

 

2.  데이터베이스 서버 설치

1) OS에 직접 설치

 

Download MariaDB Server - MariaDB.org

REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server"

mariadb.org

  • - Mac(brew install mariadb)이나 리눅스는 패키지 관리자를 이용해서 설치

 

2) 가상화 컨테이너에 설치

 

- docker와 같은 가상화 컨테이너에 설치

- docker 사이트에서 회원 가입

- docker

 

- Windows에서는 WSL를 추가로 설치해주어야 합니다.

 

 

- mariadb image 다운로드

터미널에서 docker pull mariadb 버전(버전은 생략하면 최신 버전)

 

- mariadb 컨테이너 생성

docker run --name mariadb -d -p 외부에서 접속할 포트번호:MariaDB포트번호 -e MSQL_ROOT_PASSWORD=루트비밀번호 컨테이너 이름

docker run --name mariadb -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=자기비번 mariadb

 

- 컨테이너 실행 확인(모든 컨테이너를 확인 -a를 추가)

docker ps

 

- 컨테이너 중지

docker stop 컨테이너이름 이나 아이디

 

- 컨테이너 시작이나 재시작

docker start 컨테이너이름이나 아이디

docker restart 컨테이너이름이나 아이디

 

- 컨테이너 삭제(실행 중인 컨테이너를 삭제할 때는 뒤에 -f 옵션 추가)

docker rm 컨테이너이름이나 아이디

 

 

 

3. 데이터베이스 접속 도구 설치

- DBeaver(Open Source이고 여러 데이터베이스 접속 가능- https://dbeaver.io/download/) 설치

금융 분야로 취업을  생각하면 토드나 오렌지 같은 접속 도구를 사용하는 것도 나쁘지 않습니다.

 

4. 데이터베이스 서버 실행 및 접속 확인

- 데이터베이스 접속 도구에서

Host: localhost

Port: 3306(설치할 때 변경했으면 수정)

Database: mysql(기본 제공)

UserNAme: root(기본 제공)

Password: 설치할 때 사용한 비밀번호

 

를 입력하고 연결을 시도합니다.

 

5. 데이터베이스 외부 접속 허용

1) 권한 설정

Grant all privileges on 사용할데이터베이스이름 TO '계정'@'접속할 IP';

-> 모든 데이터베이스를 사용하게 하고자 하는 경우는 *.*

-> 모든 곳에서 접속하도록 하고자 할 때는 %를 설정하고 로컬에서만 접속하도록 할 때는 localhost

-> 권한 설정 명령은 설정하고 적용 명령을 수행

FLUSH privileges;

 

-> root 계정을 모든 곳에서 접속하도록 설정

GRANT all privileges on *.* To 'root'@'%';

FLUSH privileges;

 

2) 서버 설정(Windows에 직접 설치했으면 이 과정은 생략)

- /etc/mysql/mariadb.conf.d/50-server.cnf 파일의 bind-address 부분을 허용할 IP로 변경을 해주어야 하는데 0.0.0.0 이면 실제 서버 설정이라면 Application Server의 IP만 허용합니다.

 

- docker는 직접 파일을 수정할 수 없기 때문에 터미널에서 컨테이너의 bash로 접속

docker exec -it 컨테이너이름 bash 명령으로 접속한 후

 

apt update

apt upgrade

apt install vim

 

vim /etc/mysql/mariadb.conf.d/50-server.cnf 명령으로 수정

 

텍스트가 열리면 i를 눌러서 수정 모드로 진입해서 수정하고 esc를 눌러서 수정 모드를 빠져나온 후:wq 명령으로 저장하고 나와야 합니다.

 

bind address 부분을 0.0.0.0으로 수정

 

=> mariadb 재시작(docker에서는 컨테이너 재시작)

 

 

 

728x90
반응형