M1, MySQLWorkbench / mysqldump Version Mismatch

flobeeee·2021년 11월 10일
1

시행착오

목록 보기
23/43

🐬 상황

데이터베이스의 백업 중 에러발생

  1. 복사하려는 데이터베이스 환경에 들어갑니다.
  2. server - data export를 클릭합니다.
  3. 원하는 데이터베이스를 선택합니다.
  4. 오른쪽 하단에 start Export 버튼을 누르면 에러가 발생합니다.

🐬 에러원인

버전이 호환이 안됨


🐬 해결방법 (최종정리)

  1. docker로 mysql쓰는 경우, 다운받아줘야 한다.
    인텔칩 : brew install mysql@5.7
    M1 : arch -arm64 brew install mysql@5.7
  2. which mysql 했을 때, 경로안나오면 경로설정을 하자.
    인텔칩 : echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
    M1 : echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
  3. 터미널을 재시작하거나 source ~/.zshrc 명령어로 2에서 수정한 파일을 한번 읽어준다.
  4. which mysql 하면 경로가 찍힌다.
    인텔칩의 경우 /usr/local/opt/mysql@5.7/bin/mysql 이렇게 출력한다.
    (M1도 비슷하게 진행하면 된다)
  5. cd /usr/local/opt/mysql@5.7/bin/ 후에 ls를 치면 mysqldump를 확인할 수 있다.
  6. MySQLWorkbench - perferences - Administration - Path to mysqldump Tool에 경로를 넣어준다. /usr/local/opt/mysql@5.7/bin/mysqldump
  7. 이제 다시 MySQLWorkbench에서 start Export 버튼을 누르면 에러없이 진행된다.

🐬 해결과정 (시행착오 포함)

mysqldump Tool을 버전에 맞게 설정해줘야 함 (5.7버전)

  1. docker로 mysql을 구동하고 있어서 brew로 mysql 5.7을 설치한다.
    (m1이라서 brew install mysql@5.7 하면 에러뜬다
    arch -arm64 brew install mysql@5.7 로 설치하면 된다.)
  2. which mysql하면 경로가 안나와서, 경로를 설정해줘야 한다.
    (echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc)
  3. 경로설정해줘도 안되서, mysql-client를 설치했다.
    (arch -arm64 brew install mysql-client)
  4. echo 'export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
  5. which mysql하면 경로가 잘 출력된다.
    (/opt/homebrew/opt/mysql-client/bin/mysql)
  6. cd /opt/homebrew/opt/mysql-client/bin 후에 ls를 치면 아래처럼 나온다. 우리는 mysqldump를 tool path에 연결할 것이다.
  7. MySQLWorkbench - perferences 에 아래처럼 path를 넣어줬다
    (/opt/homebrew/opt/mysql-client/bin/mysqldump)

    근데 안됨..
  8. vi ~/.zshrc 들어가서 맨밑에 보면
    export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"
    -> export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"
    로 변경해주고 export start누르니까 제대로 작동했다.
  9. dumps 폴더가 생성되었고 안에 테이블별로 sql파일이 만들어져 있었다.
  10. 이제 반영할 db환경에 들어가서 server-data import를 클릭한다.
  11. sql파일들이 있는 폴더를 설정해주고, start import를 누른다.
    완료 !!

🐬 후기

인텔칩 맥북은 아래 경로로 잘 되었는데, m1이라서 다른건가
(echo 'export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc)

한번 정리해서 다시 올려야겠다.
정리해서 인텔칩, m1따로 정리했다.


🐬 참고링크

workbench 호환문제
mysql설치
mysql-client

profile
기록하는 백엔드 개발자

1개의 댓글

comment-user-thumbnail
2022년 7월 8일

와 감사합니다. 30분 넘게 해결되지 않았던 문제인데, 이 글 보고 하니까 바로 해결되네요~
주말 잘 보내세요 ^^

답글 달기