[DB-MySQL] Windows & Linux(ARM64) 환경에서 Docker로 MySQL 설치 및 실행하기 (feat.ChatGPT)
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 최적화가 잘 되어 있음.
✅ 결론
- Docker로 설치하는 것이 가장 추천되는 방법 (자동으로 ARM 아키텍처에 맞게 배포됨).
- Debian/Ubuntu 기반이라면 apt install mysql-server 사용 가능.
- MySQL 대신 MariaDB를 고려하는 것도 좋은 선택.
- 공식 사이트에서 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를 활성화해야 합니다.
- 설치 링크: Docker Desktop
📌 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 버전으로 실행하면 문제없이 마이그레이션할 수 있습니다. 🚀