docker run --platform linux/amd64
-p 3306:3306
--name [컨테이너 이름]
-e MYSQL_ROOT_PASSWORD=[루트 유저 비밀번호]
-e MYSQL_DATABASE=[데이터베이스 이름]
-e MYSQL_USER=[유저 이름]
-e MYSQL_PASSWORD=[비밀번호]
-d mysql
// 예시
docker run --platform linux/amd64 -p 3306:3306 --name mysql_boot -e MYSQL_ROOT_PASSWORD=1 -e MYSQL_DATABASE=springboot -e MYSQL_USER=junseo -e MYSQL_PASSWORD=pass -d mysql
원하는 디렉토리에 docker-compose.yml
파일을 생성해주고 아래와 같이 설정해준다.
version: '3'
services:
local-db:
image: library/mysql:5.7
container_name: [컨테이너 이름]
restart: always
ports:
- [로컬 포트]:3306
environment:
MYSQL_ROOT_PASSWORD: [루트 유저 비밀번호]
TZ: Asia/Seoul
volumes:
- ./db/mysql/data:/var/lib/mysql
- ./db/mysql/init:/docker-entrypoint-initdb.d
platform: linux/x86_64
// 예제
version: '3'
services:
local-db:
image: library/mysql:5.7
container_name: local-db
restart: always
ports:
- 13306:3306
environment:
MYSQL_ROOT_PASSWORD: root
TZ: Asia/Seoul
volumes:
- ./db/mysql/data:/var/lib/mysql
- ./db/mysql/init:/docker-entrypoint-initdb.d
platform: linux/x86_64
그 후 아래 명령어를 실행해준다.
docker-compose up -d
+) 유저 등록하는 법
db에 접속한 후 아래의 과정을 거친다.
1) 유저 생성
create user 'username'@'localhost' identified by 'password';
2) 생성한 유저에게 모든 db 및 테이블에 접근권한 부여
grant all privileges on *.* to 'username'@'localhost';
3) 설정한 권한 적용
flush privileges;
4) 데이터베이스 생성
CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; // UTF 설정해줘야 한글 안깨짐