본문 바로가기
개발

Docker로 mariadb 사용하기

by 공덕뉸나 2023. 7. 19.

개인프로젝트를 진행하기 앞서 DB를 어떤걸 사용할까 하다가 mariadb에 익숙해 그것으로 결정했다.

나는 docker를 사용해 mariadb를 사용했고, mac m2를 기준으로 글을 작성하려고 한다.

 

우선 나는 docker를 homebrew를 사용해 설치했다.

터미널에서 밑의 명령어를 입력했다.

brew install --cask docker

 

도커가 다 설치 된 후 도커를 활용해 mariadb를 설치하면 된다.

 

1. mariadb 이미지 다운로드

docker pull mariadb

버전을 따로 지정하지 않고 mariadb를 받으면 최신 버전의 이미지를 다운받게 된다.

 

2. 다운로드 된 이미지 확인

docker image ls

 

3. docker 컨테이너 실행

docker run --name mariadb -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mariadb

여기에서 --name 뒤에는 컨테이너 이름을 입력하고 MYSQL_ROOT_PASSWORD에는 root 계정의 비밀번호를 설정하면 된다.

-d는 백그라운드로 실행하겠다는 의미이고 -p는 포트번호를 뜻한다.

-e는 환경변수이고 mariadb는 다운로드 받은 이미지 이름을 의미한다.

 

4. 컨테이너 확인

docker ps

실행되고 있는 컨테이너를 확인한다.

 

5. 컨테이너 접속

 

docker exec -it mariadb /bin/bash

mariadb 자리에 컨테이너ID 또는 컨테이너명을 넣으면 된다.

 

6. mariadb 접속

5번까지 완료하면 mariadb에 접속해서 사용자 계정을 만들고 DB를 생성하면 된다.

그런데 나는 여기에서 계속 오류가 발생했다.

내가 이전에도 사용했던 방식이고 다른 많은 블로그들을 참고했으나 다 에러가 났다.

 

우선 mysql 버전을 확인해보려고 했는데

mysql 관련 명령어들이 다 command not found가 뜨는 것이다..

이 때부터 해결책을 찾으려고 환경변수도 설정해보고 온갖 블로그를 따라하면서 해결해보려고 했으나 삽질만 하고 해결은 못했다..

 

살짝 멘붕이 오려던 찰나 해결책을 찾았다!

mysql -u root -p가 아닌 mariadb -u root -p를 입력해야 들어가졌다.

 

여태 mysql -u root -p로만 접속을 했었는데 바뀐건지.. 이유는 더 찾아봐야할 것 같다.

나처럼 이거 때문에 많이 헤매는 사람들에게 도움이 되었으면 좋겠다. 

다음에는 사용자 계정도 만들고 database도 생성하고 인텔리제이에 연동하는 방법을 포스팅해야겠다. 망망!