HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🤩
개발
/데이터베이스(Database)/
Database
Database
/
Mysql as Docker

Mysql as Docker

Docker로 MySql 띄우고 local 컴터에서 접속하기

[참고] https://stackoverflow.com/questions/33001750/connect-to-mysql-in-a-docker-container-from-the-host
띄우기
$ docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag docker run --name local-mysql -e MYSQL_USER=gurudev -e MYSQL_PASSWORD=pass123 -e MYSQL_ROOT_PASSWORD=1234 -d -p 3306:3306 mysql:8.0.28-oracle
접속하기
mysql -h 127.0.0.1 -P 3306 -u root mysql -h localhost -P 3306 --protocol=tcp -u root
  • 위와 같이 127.0.0.1로 하면 mysql socket을 써서 하는 것이 아닌 tcp를 이용해서 커넥션을 맺으려 하기에 연결이 가능해짐. mysql socket을 이용하여 docker container 안의 mysql 과 연결 맺는건 안됨
    • 127.0.0.1 로 연결을 맺으려 하면 TCP stack을 이용하는 것이고 localhost로 연결을 시도하면 unix socket을 이용해서 연결을 시도하려 함
  • socket은 파일로 나타내지는 연결임. docker container와 host machine 사이에 socket file 공유가 안되니 mysql socket으로는 연결이 안된다고 함
  • 끝에 -p 붙이면 패스워드 물어봄