[DB] workbench bug 해결

minsikk·2025년 1월 5일

때는 작년 11월.. 한 번도 사용해본 적 없는 도커를 사용해보자고 다른 백엔드 팀원 분이 그러셔서 전부터 궁금했기 때문에 사용해보기로 했다.
공부가 충분히 없었어서 그런걸까? 뭘 잘못 건드린지는 모르겠는데 갑자기 잘 작동하던 workbench의 기존 포트 3306이 작동이 안되기 시작했다.

그 당시에는 재설치를 해도 계속 안되고 마음은 급했기에 그저 임시방편으로 포트 번호를 3308로 옮겨서 db를 사용했다. 이후 배포를 먼저 진행하고 개발을 진행했던 프로젝트에서 db 포트 번호가 맞지 않아서 db 확인을 하지 못하는 어이없는 사태가 발생했다.

당시에도 과제를 급하게 제출해야 했기에 db를 고칠 생각은 못했고, 그저 다른 팀원에게 수시로 db 상태 물어보면서 프로젝트를 진행했다. (지금 생각하면 진짜 어처구니 없는 상황이다.)

이제 새로운 프로젝트를 다시 들어갈 때가 되기도 하였고 ec2 배포까지 직접 한 번 해보고 싶었기에 개발에 돌입하기 전 해당 db 문제를 해결해야겠다고 결심했다.


명확한 bug가 무엇인지 파악이 되지 않아서 구글링 해서 이런저런걸 시도해봤지만, 도저히 나아지지 않았다. 그래서 내가 다시 선택한 건 결국 삭제 후 재설치 이다.

결론적으로, 해당 방법으로 성공하긴 하였다.
내가 성공했던 방법을 그래서 기록하고자 한다.


삭제

  1. 설정>앱>설치된 앱에 들어가 우선 MySQL 관련된 모든 앱을 지워준다.
    여기서 중요한 건 정말 "모든" 걸 지워야 한다는 것이다. 전에했던 내 시도들이 무의미했었던 것은 아마 내가 삭제 할 때 다 제대로 삭제했는지 확인하지 못하고 빨리 재설치하기에 바빴기 때문인 것 같다.
  2. 제어판>프로그램 및 기능 에 들어가서 MySQL 관련된 것들을 다시 한 번 삭제해준다.
  3. \Program Files\MySQL, C:\Program Files (x86)\MySQL, C:\ProgramData\MySQL위치의 파일도 모두 싹 다 지워준다.
  4. 마지막으로, 내PC에서 MySQL 관련된 것이 남아있는지 다시 한번 확인해준다.

    이렇게까지 해주었다면, 이제 다시 재설치 해야 한다.



재설치

  1. www.mysql.com 여기서 우선 SQL Communinty Installer를 설치해준다.
    이 때, 약 300MB 크기의 파일을 다운 받아주면 된다.
  2. 설치 후 Installer를 설치하고 custom을 클릭한 후, 다음과 같이 설정한다.


  3. 설치 이후 Next를 계속 눌러준다.
    ⁉️이 과정에서 나에게는 C:\Program Files\MySQL\MySQL Workbench 경로가 이미 존재한다고 나와있었다. 해당 경로는 다시 삭제해주자.

  4. 그리고 문제는 이 부분이 요점이다. Type and Networking 부분에서 기본으로 설정되어 있는 Port 부분의 306에서 충돌이 또 다시 발생한 것이다.
    "The specified port is already in use"라는 오류가 발생한다.



    🚨 바로 이전에 MySQL을 동일 포트로 설치했었기 때문에 해당 오류가 발생하게 되는 것이다!
    💡 이를 해결하기 위해서는 사용하고 있는 3306 포트를 삭제해주면 된다 !

3306 포트 삭제 방법

  1. 306 포트의 PID를 찾아야 한다.
    여기서 PID란, process id로 '실행중인 프로그램'이라고 한다.
  • 리소스 모니터 창에서 3306포트의 PID 찾기
  • cmd 창에서 검색하여 3306 포트의 PID 찾기
    이렇게 두가지 방법이존재한다.

1) 리소스 모니터 창에서 3306 포트의 PID 찾기
Win+R 을 눌러 resmon.exe를 입력 -> 확인

리소스 모니터>네트워크>수신대기포트 에서 포트번호 3306의 PID를 확인한다.
이는 각 PC마다 다르다. 여기서 IPv4, IPv6가 각각 PID가 나는다르게 나왔는데, 이를 정확히 알기 위해서 cmd를 확인하는 방법을 또 사용하였다.

2) cmd 창에서 검색하여 3306 포트의 PID 찾기
stat -ano|find "3306" 명령어를 입력한다.
해당 명령어는 PID를 확인할 수 있는 명령어로, 뒤에 특정 포트만 검색하고 보고 싶다면 뒤에 |find "3306" 이라는 특정 포트 번호를 같이 입력해주면 된다.
netstat 명령어는 network statistics의 약자로, 네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보를 보여주는 도구이다.

해당 명령어를 입력한 후 나는 이런식으로 나왔는데,

그럼 여기서 3306 포트의 PID가 5084라는 것을 확인할 수 있다.


  1. 이제 CMD 창에서 해당 포트를 삭제하면 된다.

cmd를 관리자 권한으로 실행하여 taskkill /F /PID 5084 라고 입력하면 된다.

이렇게 하면 이제 port 3306을정 정상적으로 사용할 수 있다!



이후 남은 설치까지 모두 완료하면, 다시 Workbench로 들어가면 전과 달리 이제 정상적으로 port 3306을 사용할 수 있다 😀

profile
감자 대학생

0개의 댓글