아빠는 개발자

[docker] docker compose mysql 본문

Docker/MySql

[docker] docker compose mysql

father6019 2023. 12. 31. 21:51
728x90
반응형

mysql 을 설치했긴 했는데.. 관리가 좀 애매해서 docker compose 로 다른 컨테이너들과 같이 관리하려고 수정

docker, docker compose 를 설치 했다면 바로 실행

 

docker-compose.yml 

version: '3'
services:
  db:
    image: mysql:latest
    container_name: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      TZ: Asia/Seoul
      MYSQL_SLAVE_PARALLEL_WORKERS: 4  # 병렬 작업 스레드 설정
    ports:
      - 3306:3306
    volumes:
      - ./mysql-init-files/:/docker-entrypoint-initdb.d
    platform: linux/x86_64

 

yml 을 작성 하고 실행해 보자 

 

내 로컬 경로인 ~/docker/mysql  로 이동

 

실행 

docker compose up -d --build

 

-f 옵션으로 파일명을 지정할 수 있으나 세팅이 하나라 안해도 됨. 그럼 기본파일인 docker-compose.yml 의 설정대로 

실행 

 

yml 에서 모든세팅을 다하고 싶으나 일단 저걸 실행하면 컨테이너가 뜨는데

컨테이너로 접속해보자 

 

docker exec -it mysql bash

이 다음부터는 mysql 설정

 

root 계정으로 접속

mysql -uroot -p --port 3306

 

root 계정의 패스워드를 'doo' 로 변경 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'doo';

 

반영 

flush privileges;

 

접속에 사용할 계정 생성 - ldh

create user ldh; 

 

계정 패스워드 변경

ALTER USER 'ldh'@'%' IDENTIFIED BY 'doo';
flush privileges;

 

ldh 계정은 전체 DB에 대한 권한을 호스트 상관없이 다 갖는다. 

GRANT ALL PRIVILEGES ON *.* TO ldh@'%';

 

 

DB를 생성하고

create database shop;

 

작업을 시작해보잣

 

 

https://github.com/900gle/mysql

728x90
반응형

'Docker > MySql' 카테고리의 다른 글

[MySQL] 파티셔닝(Partitioning)  (0) 2024.09.29
[MySql] parallel  (0) 2024.09.23
[docker] Mac Docker Mysql 설치하기  (0) 2023.08.27