728x90
반응형

m1 맥북에 mysql 5.7 버전을 설치하려고 했는데 왜 안돼... 지원을 안 해주나 보다... 인텔이 아니라서 그런가..
mysql 8 버전은 설치해서 잘 작동하는 것은 확인했다.

그래서 결국 docker 에 mysql 5.7 버전 올려서 사용하기로 했다.

도커에서 mysql 이미지 버전 확인

jhnam@jhnamui-MacBookPro v2 % docker search mysql                                                                 
NAME                            DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                           MySQL is a widely used, open-source relation…   13093     [OK]       
mariadb                         MariaDB Server is a high performing open sou…   5005      [OK]       
phpmyadmin                      phpMyAdmin - A web interface for MySQL and M…   615       [OK]       
percona                         Percona Server is a fork of the MySQL relati…   584       [OK]       
bitnami/mysql                   Bitnami MySQL Docker Image                      76                   [OK]
linuxserver/mysql-workbench                                                     42                   
linuxserver/mysql               A Mysql container, brought to you by LinuxSe…   37                   
ubuntu/mysql                    MySQL open source fast, stable, multi-thread…   36                   
circleci/mysql                  MySQL is a widely used, open-source relation…   27                   
google/mysql                    MySQL server for Google Compute Engine          21                   [OK]
rapidfort/mysql                 RapidFort optimized, hardened image for MySQL   13                   
bitnami/mysqld-exporter                                                         3                    
ibmcom/mysql-s390x              Docker image for mysql-s390x                    2                    
newrelic/mysql-plugin           New Relic Plugin for monitoring MySQL databa…   1                    [OK]
vitess/mysqlctld                vitess/mysqlctld                                1                    [OK]
hashicorp/mysql-portworx-demo                                                   0                    
docksal/mysql                   MySQL service images for Docksal - https://d…   0                    
mirantis/mysql                                                                  0                    
cimg/mysql                                                                      0                    
drud/mysql                                                                      0                    
silintl/mysql-backup-restore    Simple docker image to perform mysql backups…   0                    [OK]
corpusops/mysql                 https://github.com/corpusops/docker-images/     0                    
drud/mysql-local-57             ddev mysql local container                      0                    
drud/mysql-docker-local-57      This repo has been deprecated, new tags are …   0                    
drud/mysql-docker-local         docker containers for local womysql rk          0                    [OK]

최신 버전 이미지는 아마 8 버전이겠지?
mysql 5.7 버전을 태그로 이미지를 pull 하니 아래와 같은 메시지가 나왔다.

% docker pull mysql:5.7
5.7: Pulling from library/mysql
no matching manifest for linux/arm64/v8 in the manifest list entries

m1 이라서 그런 거니 ㅠㅠ arm64 에서 사용할 수 있는 것을 확인했는데 매칭 되지 않는다고 나온다.

아래의 명령어를 통해 플랫폼을 지정해줄 수 있다고 해서 해봤는데 역시 같은 결과가 나왔다.

% docker pull --platform liunx/amd64 mysql:5.7
5.7: Pulling from library/mysql
no matching manifest for liunx/amd64 in the manifest list entries

 

*** 추가 )
위의 명령어에서 오타가 나서 매칭이 되지 않았던 것 같다.. ㅎㅎ
너무 감사하게도 댓글로 말씀해주셔서.. 이렇게 참고로 글에도 적어두려고 한다.

docker pull --platform liunx/amd64 mysql:5.7 -> docker pull --platform linux/amd64 mysql:5.7

 

docker-compose 사용해서 mysql 5.7 버전 설치

여기저기 찾아보다가 docker-compose 를 사용해서 할 수 있는 방법을 찾았다.

[docker-compose.yaml 파일 내용]

version: '3'
services:
  local-db:
    image: library/mysql:5.7
    container_name: infra-mysql
    restart: always
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: root
      TZ: Asia/Seoul
    volumes:
      - ./db/mysql/data:/var/lib/mysql
      - ./db/mysql/init:/docker-entrypoint-initdb.d
    platform: linux/amd64

이렇게 작성하고나서 실행해주면 도커 컨테이너가 실행되는 것을 확인할 수 있다.

docker-compose up -d

도커 컨테이너 확인

% docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS                               NAMES
23ade38e953e   mysql:5.7   "docker-entrypoint.s…"   4 seconds ago   Up 3 seconds   0.0.0.0:3306->3306/tcp, 33060/tcp   infra-mysql

컨테이너 접속

docker exec -it infra-mysql bash

컨테이너 접속 후 mysql 접속 확인

bash-4.2# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.39 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

mysql 접속 완료!

 

mysql connect 해서 원격으로 접속하기

mysql 에 접속해서 root 패스워드 변경하기

mysql> alter user 'root'@'%' identified with mysql_native_password by '변경하고싶은패스워드';

root 계정의 모든 권한 부여

mysql> grant all privileges on *.* to 'root'@'%';

변경된 설정 적용

mysql> flush privileges;

 

원격으로 접속할 수 있게 mysql 설정을 변경했다.
이제 접속하면 되는데 나는 맥북에 도커를 설치해서 로컬에서만 사용하려고 만들었기 때문에
localhost(127.0.0.1) 을 통해서 접속하면 된다.

접속 테스트 완료 😆

 

- 참고 사이트 -

https://velog.io/@max9106/Docker-M1-Mac%EC%97%90%EC%84%9C-docker-mysql-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

 

[Docker] M1 Mac에서 docker mysql 설치하기

 

velog.io

https://velog.io/@sujeongim/%EC%98%A4%EB%A5%98-%EC%B2%9C%EA%B5%AD-Docker%ED%8E%B8-Mac-M1-no-matching-manifest-for-linuxarm64v8

 

[오류 천국 : Docker편] (Mac M1) no matching manifest for linux/arm64/v8 in the manifest list entries

도커 허브의 MySQL 공식 이미지 안내에는 ARM 64 태그가 달려있다. 그럼에도 불구하고 정상적으로 이미지를 당겨 올 수 없다는 오류가 뜬다. 도커 명령어 옵션으로 ' --platform linux/amd64 '를 덧붙여 이

velog.io

728x90
반응형
복사했습니다!