내 지식 정리/날것 그 자체

[DB-MySQL] Windows & Linux(ARM64) 환경에서 Docker로 MySQL 설치 및 실행하기 (feat.ChatGPT)

공부하는 모도리 2025. 3. 16. 16:32
728x90
반응형

Rock-5C 보드는 ARM 기반이므로, MySQL을 설치할 때 OS 및 아키텍처 호환성을 고려해야 합니다.

1️⃣ Rock-5C OS와 MySQL 호환성

Rock-5C는 일반적으로 Armbian, Debian, Ubuntu 기반 OS를 사용하며, ARM64 (AArch64) 아키텍처를 지원합니다.
MySQL의 공식 이미지나 패키지는 일반적인 x86_64 (AMD64) 환경을 기본으로 제공되지만, ARM64용 빌드도 존재합니다.


2️⃣ 설치 방법에 따른 호환성

1. Docker를 활용한 MySQL 설치 (권장)

ARM 아키텍처에서도 Docker를 사용하면 자동으로 호환되는 MySQL 버전이 다운로드되므로 가장 간편한 방법입니다.

docker run -d \
  --name mysql-container \
  -e MYSQL_ROOT_PASSWORD=my-secret-pw \
  -e MYSQL_DATABASE=mydb \
  -e MYSQL_USER=myuser \
  -e MYSQL_PASSWORD=mypassword \
  -p 3306:3306 \
  -v /path/on/host/mysql-data:/var/lib/mysql \
  --platform linux/arm64 \
  mysql:latest

📌 --platform linux/arm64 옵션을 사용하면 ARM64 아키텍처에 맞는 MySQL 컨테이너가 자동으로 다운로드됨.

🔹 MySQL 공식 Docker Hub에서 지원하는 플랫폼 확인
👉 MySQL Docker 공식 이미지에서 Supported architectures 목록에서 linux/arm64가 있는지 확인.

2. 패키지 매니저(Apt)로 설치 (Debian/Ubuntu 기반)

sudo apt update
sudo apt install mysql-server
  • apt를 사용하면 자동으로 ARM 아키텍처에 맞는 MySQL 패키지가 설치됨.
  • 하지만 최신 버전이 아니거나 일부 기능이 제한될 수도 있음.

3. MySQL 공식 바이너리 다운로드

MySQL 공식 사이트에서 ARM64(AArch64) 지원 여부를 확인 후 다운로드 가능.
👉 MySQL 공식 다운로드


3️⃣ Rock-5C에서 추천하는 MySQL 버전

  • 최신 버전은 MySQL 8.x이지만, Rock-5C 성능을 고려하면 MySQL 5.7 혹은 MariaDB 사용도 고려할 수 있음.
  • MariaDB는 MySQL과 100% 호환되며, ARM 지원이 더욱 원활한 경우가 많음.
sudo apt install mariadb-server
  • MariaDB는 MySQL보다 가볍고 ARM 최적화가 잘 되어 있음.

✅ 결론

  1. Docker로 설치하는 것이 가장 추천되는 방법 (자동으로 ARM 아키텍처에 맞게 배포됨).
  2. Debian/Ubuntu 기반이라면 apt install mysql-server 사용 가능.
  3. MySQL 대신 MariaDB를 고려하는 것도 좋은 선택.
  4. 공식 사이트에서 ARM64용 MySQL을 직접 다운로드 가능.

Rock-5C에서 안정적으로 운영하려면 Docker + MySQL 8.x (또는 MariaDB) 조합을 추천합니다. 🚀



 

 

 

네, WSL 환경에서도 Docker를 활용하여 MySQL을 실행할 수 있습니다. 하지만 WSL에서 직접 실행하기 전에 몇 가지 확인해야 할 사항이 있습니다.


🔹 WSL에서 Docker + MySQL 실행 가능 여부

가능함! WSL2에서 Docker를 실행하면 Linux 환경과 유사하게 동작하며, ARM64 이미지를 강제하지 않아도 기본적으로 MySQL을 실행할 수 있습니다.

하지만, 몇 가지 조건을 만족해야 합니다.

1️⃣ WSL2 + Docker Desktop 설정 확인

  • WSL1에서는 Docker가 제대로 실행되지 않으므로 WSL2를 사용해야 합니다.
  • Windows에서 Docker Desktop을 설치하고 WSL2를 활성화해야 합니다.

📌 WSL2 버전 확인 방법

wsl -l -v
  • 출력 예시:
    NAME            STATE           VERSION
    Ubuntu-22.04    Running         2
    
    • VERSION 2인지 확인! WSL1이면 업그레이드 필요.

📌 WSL2 기본 설정 변경 (필요 시)

wsl --set-version Ubuntu-22.04 2

2️⃣ WSL에서 Docker가 실행되는지 확인

WSL에서 직접 실행하여 Docker가 정상 동작하는지 체크:

docker version
docker run hello-world
  • 정상 실행되면 Docker가 WSL에서 문제없이 작동하는 것!

3️⃣ WSL에서 MySQL 실행 (Docker 사용)

이제 기존에 작성한 명령어를 실행하면 됩니다.

docker run -d \
  --name mysql-container \
  -e MYSQL_ROOT_PASSWORD=my-secret-pw \
  -e MYSQL_DATABASE=mydb \
  -e MYSQL_USER=myuser \
  -e MYSQL_PASSWORD=mypassword \
  -p 3306:3306 \
  -v /path/on/host/mysql-data:/var/lib/mysql \
  mysql:latest

🔹 주의할 점!

  • --platform linux/arm64 옵션은 WSL에서는 필요 없음.
    • WSL이 x86_64 아키텍처를 사용하는 경우, 기본적으로 linux/amd64 버전이 자동으로 설치됨.
    • linux/arm64를 강제하면 오류 발생할 수 있음!

📌 확인하는 방법

docker inspect mysql-container | grep Architecture
  • 만약 amd64가 표시되면, ARM이 아닌 x86_64 버전이 실행됨.

🔹 WSL에서 MySQL 접속 및 확인

1️⃣ 컨테이너 상태 확인

docker ps
  • mysql-container가 Up 상태인지 확인!

2️⃣ WSL 내부에서 MySQL 접속

docker exec -it mysql-container mysql -u root -p
  • my-secret-pw 입력 후 로그인 확인.

3️⃣ WSL 외부(Windows)에서 접속

  • Windows에서 MySQL 클라이언트 (Workbench, DBeaver 등) 를 사용하여 접속하려면 localhost 또는 127.0.0.1:3306 사용.
mysql -h 127.0.0.1 -u myuser -p

(비밀번호 입력 후 정상 동작 확인)


🔹 최종 결론

WSL2에서 Docker + MySQL 실행 가능
별다른 설정 없이 mysql:latest 사용 가능 (--platform linux/arm64 옵션 불필요)
로컬에서 API 개발 후, Rock-5C로 이관 가능

📌 결론: WSL에서 개발 환경을 완벽하게 세팅한 후, Rock-5C에서는 linux/arm64 버전으로 실행하면 문제없이 마이그레이션할 수 있습니다. 🚀

728x90
반응형