• 환경변수 관련 이슈

    2022. 2. 13.

    by. 내이름은 킹햄찌

    사내 개인프로젝트를 진행중에 발생한 일이다.

    생산팀에서 사용할 장비 출고 및 수리 관리 프로그램을 만들라는 과제를 받았고,

    현재 1차적으로 데모버전을 만들어서 배포를 한 후에 마음에 들지 않는 UI나 더 필요한 기능들을 피드백 받아서 재배포를 하기로 결정이 났음 그래서 생산팀에서 편하게 DB환경을 설치 할 수 있게 하기위해 DB를 설치하고 테이블 생성까지 한번에 할 수 있는  배치 스크립트를 작성을 하고 있었는데 mySQL에 테이블을 cmd 창에서 생성하기 위해서는 시스템 환경변수에 mySQL의 bin 파일 경로가 저장이 되어 있어야했고 당연히 시스템 환경변수에 해당경로를 추가하는 명령어도 추가를 했고 확인까지 했는데 여기서 문제가 발생함

    시스템 변수에 추가를 해야하지만 아래의 명령어를 사용해버려서 시스템 변수를 해당경로로 바꿔버린거임

    set /m path "C:\Program Files\MySQL\MySQL Server 8.0\bin"

    (참고 : https://sosobaba.tistory.com/193)

    저장 되어 있던 시스템 변수가 모조리 날라감 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

    그로인해 ipconfig나 setx 같은 기본적인 명령어도 하나도 안먹기 시작 했음

    더 끔찍한 사실은 이것을 테스트 했던 다른 2개의 pc에도 이 상황이 벌어짐

    마이크로 소프트에서 응답한 내용을 바탕으로 복구를 진행하려했지만... 백업파일은 없었음

    (https://answers.microsoft.com/ko-kr/windows/forum/all/%EC%9C%88%EB%8F%84%EC%9A%B010%EC%97%90%EC%84%9C/0c7a6045-2e0f-4933-a60e-333aff53c12f)

    옆에 계신 차장님께 양해를 구하고 환경변수를 받아와서 우선 필요한 것은 추가를 해둔 상태.. 앞으로 어떤일이 벌어질지는 모르지만 이 부분은 이미 벌어진 일이기 때문에 추가적으로 문제가 발생했을때 대응 하는 방법 밖에 없다고 판단

    다시돌아와서 배치스크립트를 해결해야 함

    환경변수에 대해 정확하게 알아보자

    환경변수란 OS에서 응용프로그램이나 명령어를 실행시키기 위해 참조하는 설정 정도로 이해할 수 있을것 같다.

    그렇다면 경로를 추가하지 않고 경로로 들어가서 명령어를 실행하면 될것이라는 간단한 생각이 들었고,

    배치스크립트에서 끔찍한 명령어를 제외시키고 cmd창에서 mysql.exe를 실행 시킬 수 있는 경로로 직접 이동하여

    (cd C:\Program Files\MySQL\MySQL Server 8.0\bin\) 테이블을 생성하는 방법으로 해결했다 ㅠㅠ

     

    잘 모르면 충분히 공부하고 고민후에 적용을 해보자라는 교훈을 얻었고, 추가적으로 cmd 창으로 할 수 있는 여러가지 기능들도 많이 공부 할 수 있게 되서 맞으면서(?) 성장한 이슈였다.

    '기타' 카테고리의 다른 글

    2022 회고  (3) 2023.01.03
    DTO에 대한 고민  (2) 2022.12.30
    [JMeter] 설치 및 환경 구성 + 사용방법?  (0) 2022.12.19
    2022.04.07 우아한테크세미나 리뷰 (feat. 마틴 파울러)  (0) 2022.05.08
    세미나 리뷰 (TDD, 리팩토링)  (0) 2021.11.21

    댓글