Homebrew MySQL 8->5.7 다운그레이드 변경 시 에러

Devel/Error|2022. 10. 26. 00:00
반응형

Homebrew MySQL 8->5.7 다운그레이드 변경 시 에러 정리

 

brew install mysql

을 하게 되면 최신 버전인 8버전이 설치된다.

하지만 프로젝트 버전 상 5.7로 맞춰야할 필요가 있어 8버전을 제거하고 5.7버전을 재설치하게 되었다.

 

먼저 homebrew로 설치한 mysql 8 버전을 삭제한다.

 

brew services stop mysql
brew uninstall mysql
brew uninstall --force mysql
brew remove mysql
brew cleanup

sudo rm -r /usr/local/var/mysql

 

brew services stop mysql
brew uninstall mysql
brew uninstall --force mysql
brew remove mysql
brew cleanup

sudo rm -r /usr/local/var/mysql

 

 

 

혹시 모를 남겨진 파일을 제거하기 위해 관련 파일을 모두 제거해준다.

 

brew install mysql@5.7

brew install mysql@5.7

5.7 버전으로 재 설치를 하고, mysql 을 시작하였다.

 

brew services start mysql
mysql.server start
sudo apachectl restart

brew services start mysql
mysql.server start
sudo apachectl restart

 

 

하였을때, 온갖 에러가 발생하였다.(pid 오류, socket 오류..)

 

 

에러 내용은 아래와 같다.

Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

 

httpd: Syntax error on line 177 of /usr/local/etc/httpd/httpd.conf: Cannot load /usr/local/opt/php/lib/httpd/modules/libphp7.so into server: dlopen(/usr/local/opt/php/lib/httpd/modules/libphp7.so, 10): image not found

 

ERROR! The server quit without updating PID 

 

 

여러 구글링 중 나온 해답은

 

- ps aux | grep mysql 로 현재 mysql 실행중인지 확인 후 실행중이라면 kill로 종료 후 실행하기

- 폴더 권한 변경(디렉토리 소유권한 변경, 파일권한 변경)

sudo chown -R mysql:mysql /usr/local/var/mysql
sudo chmod -R 777 /usr/local/var/mysql

sudo chown -R mysql:mysql /usr/local/var/mysql
sudo chmod -R 777 /usr/local/var/mysql

 

 

하지만 위 에러의 대표 해결 방법을 적용해도 같은 에러가 계속 발생하였다..

 

결국 위에 적힌 삭제 방법으로 다시 지우고,

brew services stop mysql
brew uninstall mysql
brew uninstall --force mysql
brew remove mysql
brew cleanup

sudo rm -r /usr/local/var/mysql

 

 vi /usr/local/etc/my.cnf

 vi /usr/local/etc/my.cnf 

 

my.cnf 파일을 수정하고

 

mysqlx-bind-address=127.0.0.1 라인을 삭제하였다.

 

brew install mysql@5.7 mysql 5.7버전을 다시 설치해주었다.

 

그리고 설치 내역을 잘 살펴보면 

 

Warning: The post-install step did not complete successfully

You can try again using `brew postinstall mysql@5.7`

라고 적힌 부분을 찾을 수 있다.

 

위에 적힌 것처럼 post-install을 다시 한번 더 해준다.

brew postinstall mysql@5.7

 

brew postinstall mysql@5.7

 

한 뒤에도 오류가 발생한다면, 

sudo rm -r /usr/local/var/mysql

mysql 폴더를 삭제 후 다시 post-install을 한다.

 

brew postinstall mysql@5.7

 

그럼 마침내! 실행이 되고,

httpd: Syntax error on line 177 of /usr/local/etc/httpd/httpd.conf: Cannot load /usr/local/opt/php/lib/httpd/modules/libphp7.so into server: dlopen(/usr/local/opt/php/lib/httpd/modules/libphp7.so, 10): image not found

 

이 에러의 경우는 에러 내용을 잘 찾아보면 libphp7 모듈을 로드하지 못하는 것으로,

나의 경우는 php를 다시 설치한 후,

vi /usr/local/etc/httpd/httpd.conf

/usr/local/etc/httpd/httpd.conf로 들어가

 

새로 설치한 php 모듈을 연결해줬다.

 

 

 

 

 

 

 

 

댓글()
loading