네트워크를 통해서 데이터를 주고받는 프로그램은 반드시 포트(Port) 가 필요합니다. 같은 IP 를 사용하는 공간에서 다른 프로그램이 사용하지 않는 포트가 있어야 한다는 의미입니다. 프로그램에서 사용하는 포트는 중복해서 사용할 수 없기 때문입니다. 현재 돌아가고 있는 프로그램의 동일한 포트를 사용하기 위해 또 다른 프로그램을 실행한다면 포트 충돌 에러가 발생합니다. 동시에 여러 프로그램에서 실행할 수 없기 때문에 하나를 제외한 나머지는 종료해야 합니다. 충돌이 일어날 경우 어느 프로그램이 동일한 포트를 사용하는지 알아보고 종료하는 방법을 알려 드리겠습니다.
▼ 컴퓨터에 데이터베이스 앱인 mariadb 를 설치하는 과정에서 포트 충돌 에러가 발생했습니다. 기본 포트는 3306 인데 현재 실행되고 있는 어느 프로그램이 동일한 포트를 사용하고 있나 봅니다. 방법은 두 가지입니다. 충돌이 발생한 포트를 포기하고 다른 포트를 사용하거나 포트를 사용하고 있는 프로그램을 종료하고 설치하는 것입니다.
◎ 사용 중인 포트 검색 |
▼ 먼저 동일한 포트를 사용하는 프로그램을 찾아야 합니다. 명령어는 netstat 입니다. 현재 네트워크 상태를 알려주는 도구로 콘솔창을 띄워 netstat 를 실행합니다. 그런데 컴퓨터에서 사용하고 있는 모든 네트워크 상태를 체크해야 되기 때문에 시간이 오래 걸립니다. 검색 시간을 줄이기 위해 여러 옵션을 조합해서 명령어를 실행해 보겠습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 윈도우10 네트워크에서 컴퓨터 공유 설정하는 방법 ▶ 윈도우10 네트워크 초기화해서 인터넷 연결 문제 해결하기 ▶ 윈도우10 탐색기에서 폴더, 파일 공유하는 방법 ▶ 윈도우10 에서 윈도우7 컴퓨터 폴더 공유해서 자료 옮기는 방법 ▶ 윈도우10 비행기 모드 설정하고 해제하기, 네트워크 연결이 안되는 경우 |
▼ 명령어와 인수를 조합해서 프로세스 ID 와 포트 형태를 지정합니다. 명령어 뒤에 옵션은 -ano 입니다. 마지막에 o 는 PID 를 표시하기 위한 옵션입니다. PID 는 프로세스 ID 로 프로그램을 찾는데 사용합니다. 검색 결과에서 찾아야 할 포트는 3306 입니다. 그림처럼 3306 사용하는 Port 의 PID 가 2784 네요.
netstat -ano
l a : 모든 포트를 표시한다.
l n : IP : 포트 형태로 표시한다.
l : PID(프로세스 ID) 를 표시한다.
▼ 검색 결과를 좀더 줄여 보겠습니다. findstr 은 검색 결과에서 동일한 텍스트를 찾아 주는 옵션입니다. findstr 의 파라미터인 ":3306" 이 포함된 결과값만 보여줄 것입니다.
$ netstat -ano | findstr :3306
▼ 검색 결과에서 netstat 의 상태값은 다양합니다. 검색한 목록에서 상태값이 LISTEN 인 것을 찾아야 합니다.
l LISTEN : 서버의 데몬이 클라이언트 요청을 기다리는 상태
l SYN-SENT : 클라이언트가 원격 호스트에 연결을 요청한 상태
l SYN_RECEIVED : 서버가 클라이언트로부터 접속 요구를 받아 클라이언트에게 응답했지만 클라이언트에게 확인 메시지를 받지 못한 상태
l ESTABLISHED : 서버와 클라이언트 간에 세션이 연결되어 통신이 이루어지고 있는 상태, 웹페이지 연결
l FIN-WAIT1, CLOSE-WAIT, FIN-WAIT2 : 서버에서 연결을 종료하기 위해 클라이언트에게 종결을 요청하고 회신을 받아 종료하는 과정의 상태
l CLOSING : 확인 메시지가 전송도중 분실된 상태
l CLOSED : 완전히 종료
l TIME_WAIT : 연결은 종료되었지만 약 1분정보 소켓을 열어 놓고 패킷을 기다리는 상태
◎ 동일한 포트를 사용하고 있는 프로세스 종료 |
▼ netstat 명령어로 3306 포트를 사용하는 프로세스 ID 2784 알아냈습니다. 다음은 프로세스 ID 를 힌트로 어떤 프로그램인지 찾아보겠습니다. 작업 표시줄에서 작업 관리자 창을 띄웁니다.
▼ 작업 관리자 창에서 세부 정보 탭으로 이동합니다. 프로세스 목록에서 PID 항목에 2784 를 찾습니다. 프로그램은 mysql.exe 네요. MySQL 이라는 데이터베이스 프로그램으로 백그라운드에서 돌아가고 있습니다. 해당 프로그램을 종료해야 다른 프로그램이 동일한 포트를 사용할 수 있습니다. 오른쪽 마우스를 눌러 작업 끝내기 메뉴를 선택합니다.
▼ 실행한 결과 아무것도 나타나지 않습니다. 이제 3306 을 사용하는 포트가 없으므로 mariaDB 프로그램 설치를 진행하시기 바랍니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 윈도우10 네트워크에서 컴퓨터 공유 설정하는 방법 ▶ 윈도우10 네트워크 초기화해서 인터넷 연결 문제 해결하기 ▶ 윈도우10 탐색기에서 폴더, 파일 공유하는 방법 ▶ 윈도우10 에서 윈도우7 컴퓨터 폴더 공유해서 자료 옮기는 방법 ▶ 윈도우10 비행기 모드 설정하고 해제하기, 네트워크 연결이 안되는 경우 |
'윈도우10' 카테고리의 다른 글
윈도우10 웹 브라우저 자주 방문하는 사이트 제거하기 (2) | 2024.10.29 |
---|---|
윈도우10 최신 사운드 드라이버 설치하기, 3DP Chip 이용하기 (1) | 2024.10.29 |
윈도우10 매일 새로운 배경 화면 교체하는 방법 (1) | 2024.10.28 |
윈도우10 스티커 메모 재사용을 위해 백업하는 방법 (2) | 2024.10.26 |
윈도우10 노트북 마우스 패드 잠금 및 해제하는 방법 (1) | 2024.10.26 |
윈도우10 컴퓨터 녹음, 인터넷 방송을 위한 스테레오 믹스 설정하기 (15) | 2024.10.09 |
윈도우10 폰트 글자 선명하게 바꾸는 방법 (0) | 2024.10.09 |
윈도우10 마우스 크기와 색깔 변경하기 (3) | 2024.10.09 |