본문 바로가기

D.S/DE

docker로 mariaDB & adminer 설치

728x90

어플을 설치할 때 주로 도커를 사용하는데 마리아 DB & Adminer를 설치하면서 기록차원에서 남겨놓음.

 

1. DOCKER-COMPOSE 파일 설정 (setting.yml)

테스트용이기 때문에 설정을 최소화했다.

version: '3.1'
services:
  mariadb:
    image: mariadb
    restart: always
    volumes:
      - /your/data/conf/path:/etc/mysql/conf.d
      - /your/data/path:/var/lib/mysql
    ports:
      - 3306:3306  # (호스트port):(컨테이너port)
    environment:
      - MYSQL_ROOT_PASSWORD=my_password  # :가 아닌 = 를 사용해야 함

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080  # (호스트port):(컨테이너port)
    depends_on:
      - mariadb
    links:
      - mariadb

 

 

2. 실행

 sudo docker-compose -f setting.yml up # 컨테이너 내릴 땐 up -> down으로   

adminer는 yml 파일에 설정한 port를 이용해 접속하면 된다.

 

728x90

3. 마리아DB 컨테이너에 들어가서 접속 IP 설정

이러고 adminer에서 DB에 접속하려고 하면 로그인 안 됨. 왜냐하면 기본적으로 localhost의 root만 허용해놨기 때문에...

처음에는 adminer가 maria DB자체에 접근을 못 하는 건가 싶었는데 다시 살펴보다 요 로그 발견.

adminer_1  | [Wed Nov 17 02:16:15 2021] [::ffff:192.168.00.00]:52526 Accepted
adminer_1  | [Wed Nov 17 02:16:16 2021] [::ffff:192.168.00.00]:52526 [302]: POST /?server=mariadb_1&username=root
adminer_1  | [Wed Nov 17 02:16:16 2021] [::ffff:192.168.00.00]:52526 Closing
adminer_1  | [Wed Nov 17 02:16:16 2021] [::ffff:192.168.00.00]:52527 Accepted
mariadb_1  | 2021-11-17  2:16:16 3 [Warning] Aborted connection 3 to db: 'unconnected' user: 'unauthenticated' host: '111.22.0.1' (This connection closed normally without authentication
adminer_1  | [Wed Nov 17 02:16:16 2021] [::ffff:192.168.00.00]:52527 [403]: GET /?server=mariadb&username=root
adminer_1  | [Wed Nov 17 02:16:16 2021] [::ffff:192.168.00.00]:52527 Closing

 

 

마리아 DB 컨테이너에 접속해서 권한을 추가한다. 나는 테스트 DB라.


# 컨테이너에 접속 후
mysql -u root -p

# 모든 IP에서 root계정으로 접속 가능하게. 따옴표 생략하면 안 됨.
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by 'your_password' with grant option; FLUSH privileges;

#
#

 

 

다시 접속 시도해보면 성공적.

 

 

 

 

 

참조

반응형