개요
기존 게시글에서는 Window OS에서 Docker에 MySQL 컨테이너를 띄우는 절차를 정리했습니다.
https://jaimemin.tistory.com/2036
사내 개발용 PC는 Macbook이므로 Mac OS에서도 MySQL 컨테이너를 띄우는 절차를 정리해보겠습니다.
MySQL 컨테이너 올리고 테이블 생성하는 절차
- 도커 설치
- 터미널 열고 도커 명령어 입력
- Mac 터미널 열고
- docker run --platform linux/amd64 -p 3306:3306 --name {컨테이너명} -e MYSQL_ROOT_PASSWORD={root 비밀번호} -e MYSQL_DATABASE={데이터베이스명} -e MYSQL_USER={아이디} -e MYSQL_PASSWORD={비밀번호} -d mysql 명령어 실행
- 계정 생성 후 권한 부여
- root 계정 외 별도 계정 필요할 경우 진행
- maintainer 계정을 생성한다고 가정하고 진행
- CREATE USER 'maintainer'@'%' IDENTIFIED BY '{비밀번호}'; 명령어를 통해 계정 생성
- GRANT 명령어를 통해 maintainer에게 부여하고 싶은 권한 부여
- root 계정이 아닌 maintainer 계정으로 접속하기 위해 아래의 명령어 실행
- quit
- mysql -u maintainer -p
- DB 생성
- CREATE DATABASE {데이터베이스명} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 명령어 실행
- show databases; 명령어를 통해 생성된 것을 확인
- 여러 개 생성 가능
- 특정 DB 사용하기 위해 use 데이터베이스명; 명령어 실행
- 원하는 데이터베이스에 테이블 생성하여 진행
docker-compose.yml 설정 및 실행 방법
- docker run --platform linux/amd64 -p 3306:3306 --name {컨테이너명} -e MYSQL_ROOT_PASSWORD={root 비밀번호} -e MYSQL_DATABASE={데이터베이스명} -e MYSQL_USER={아이디} -e MYSQL_PASSWORD={비밀번호} -d mysql
- 팀원들 전부 동일한 개발환경을 구축한다면 아래와 같이 docker-compose.yml 파일을 구성하여 간단히 환경을 구축하고 명령어 실수를 방지할 수 있음
version: '3.7'
services:
{서비스명}:
platform: linux/x86_64 # M1칩일 경우 platform 명시
image: mysql:5.7
restart: always
container_name: {컨테이너명}
ports:
- "3306:3306"
environment:
- MYSQL_DATABASE: {데이터베이스명}
- MYSQL_ROOT_PASSWORD: {비밀번호}
- MYSQL_USER: {아이디}
- MYSQL_PASSWORD: {비밀번호}
- TZ=Asia/Seoul
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
volumes:
- ./data:/var/lib/mysql
- 위와 같이 docker-compose.yml 파일을 설정 후 docker-compose up -d 명령어 실행하여 환경 구축 가능
참고
docker-compose.yml 참고: https://my-grope-log.tistory.com/23?category=915242
반응형
'[DEV] 기록' 카테고리의 다른 글
[javascript] Invalid shorthand property initializer (0) | 2022.03.04 |
---|---|
[구글 드라이브] 뷰어가 다운로드할 수 없는 PDF 다운로드 받는 방법 (49) | 2022.03.03 |
[SpringBoot] LoggerFactory is not a Logback LoggerContext but Logback is on the classpath (0) | 2022.01.25 |
[Intellij] 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. (0) | 2022.01.22 |
[Docker] Window에서 MySQL 컨테이너 올리는 절차 (0) | 2022.01.22 |