[Homestead] mysql 8에서 5.7로 다운그레이드
회사에서 프로젝트를 하던 와중 mysql 버전이 맞지 않는 일이 생겼습니다.
분명 저도 똑같은 release 버전으로 설치했는데 말이죠,
이유를 찾아보니 다음과 같았습니다.
사진을 보면 virtualbox의 버전이 10.0.0인 것을 알 수 있습니다.
10 버전부터는 MySQL의 버전이 5.7이 기본 설치가 안되며,
8부터 설치가 된다고 합니다.
즉 저희는 10 버전을 삭제하면 된다는 것입니다.
삭제법은 간단합니다 사용자 폴더 밑에 .vagrant.d 파일이 있을 것입니다
예시 : C:\C:\Users\me\.vagrant.d
파일 안에는
다음과 같이 boxes 폴더가 또 있을 것입니다.
boxes 폴더로 이동하고 첫 번째의 laravel-어쩌고를 들어가시면 됩니다.
vagrant box list 했을 시 나오는 homestead 다운로드 파일들의 버전이 있을 것입니다.
여기서 10 버전을 삭제하면 됩니다.
vagrant box remove NAME
만약 자기는 9.* 대가 다운로드되어있지 않다는 분은 아래 명령어로 box를 추가시킬 수 있습니다.
vagrant box add laravel/homestead --box-version 9.7.2
현재 박스 사용 중인 박스는 vagrant halt로 종료하신 후 vagrant up --provision 으로 다시 설치하시면 홈스테드가 9.7.2로 다운 받아질 것입니다.
위와 같이 해도 자동으로 11 버전이나 최신 버전을 다운받는 경우가 있습니다, 그럴 경우
Homestead/scripts/homestead.rb 파일을 열어서 '>= 9.0.0 , < 12.0.0' 부분을 보시면 딱 느낌이 오시듯이 원하는 버전이 포함되게 등식을 수정하면됩니다.
다른 방법
Homestead/Homestead.yaml의 값을 아래와 같이 바꿔서 8 버전이 아닌 5.8을 가리키는 방법이 있습니다만
해당 방법은 9.* 대에서 기본적으로 mysql 5.8이 깔려있다는 가정이 필요합니다.
이렇게 한 후
~/Homestead 에서
vagrant destroy
vagrant up --provision
하시면 됩니다.
참고 사이트 : laracasts.com/discuss/channels/laravel/downgrading-mysql-in-laravel-homestead