본문 바로가기
지식 정리

docker mysql 띄우기

by Unagi_zoso 2024. 1. 10.

🐋 도커로 MYSQL 띄우기

MYSQL 실행

docker run --name mysql -e MYSQL_ROOT_PASSWORD=1234 -d -p 3306:3306 mysql:8.2.0
  • name 돌아갈 컨테이너 이름
  • e 변수설정
  • d 데몬으로 설정해 백그라운드에서 실행
  • p 포트 설정
  • mysql:8.2.0 버전

MYSQL 접근

docker exec -it mysql bash

새로운 쉘에서 실행된다.

 

데이터 베이스 접속하기

mysql -u 사용자명 -p 데이터베이스이름

mysql -u root (계정, 비번을 없을 시)

mysql -u root -p(루트 비번이 있을 시)

데이터 베이스 생성

CREATE DATABASE dev_db default CHARACTER SET UTF8;

User 생성

create user dev@'%' identified by '1234';
grant all privileges on database_name.* to dev@'%' with grant option;
show grants for dev@'%';
flush privileges;

 

💡 추가 설명
외부에서 컨테이너의 유저에 접근하기 위해선 유저의 접근을 외부에서 접근할 수 있게 localhost를 피해야한다.
예시에서는 모든 호스트에서 접근할 수 있게 % 를 사용하였다.

  • create user: user 생성 쿼리
  • identified by '비밀번호': 비밀번호 설정
  • grant all privileges on database_name.*: 해당 데이터베이스의 모든 테이블의 권한을 부여한다.
  • to 대상: 대상에게
  • with grant option: 권한 부여 자격 생김 (다른 사용자에게 해당 데이터베이스에 대한 권한을 부여할 수 있다.)
  • show grants for 대상: 대상이 가지고 있는 모든 권한 보여준다.
  • flush privileges: flush 해서 적용해야한다.

댓글