이직 후 처음으로 받은 업무... 인데 며칠 째 못하는 중. 자괴감 쌉 오진다... 그런데 팀장님도 옆에 안계시고, 의지하거나 대화를 나눌 수 있는 동료도 없는 상황 😭 (얼른 뽑아주세요...) 그래서 다른 친구
의 도움을 받아서 연동까지는 정말 오늘 끝내려고 한다. 그 과정을 기록해보겠음... 미래의 나 혹은 누군가가 도움을 얻을 수 있길 바라며...
원래는 mariaDB를 사용해서 연결을 하려고 했는데 잘은 모르겠지만 계정 권한 문제로 인하여 mysql을 사용하기로 했다.
걍 연결이 안됨... 뭐가 암튼 계속 안됨
그래서 mariaDB랑 MySQL을 삭제하고 다시 깔아보려고 했다.
하지만 cmd 명령어에 버전을 확인하면 나오는데 제어판에서는 보이지 않는다.
원인은 설치 과정에서 특정 옵션을 선택하지 않았거나, 시스템의 갱신이 제대로 이루어지지 않았을 수 있다.
[MySQL] install을 했는데 서비스에 안나올때 추가하기.
출처: https://bryan7.tistory.com/452 [민서네집:티스토리] 여기서 나온 방법을 시도하거나 아예 재설치를 하는 것이 좋을듯 하다.
[윈도우 키 + R 키]
눌러서 실행 창에taskmgr
명령어 입력 >Ctrl + [새 작업 실행]
버튼
출처: Windows 10 / 11 작업관리자에서 명령프롬프트(cmd)를 실행하는 방법
[bin] 디렉터리 안에서 mysqld --install
옵션을 줘서 실행시키면 서비스 항목에 등록된다고 한다.
뭐 이런 방법을 시도해봤으나 여전히 제어판에 보이지 않는다. 그런 이유로 아예 db를 전부 삭제하고 mysql만 다시 깔아보기로 한다...
그러던 와중에
MariaDb... 없어졌니?
이 세 가지 중에 하나일텐데... 없는 것 같다. 내가 설치를 안 했나??? 한... 것 같았는데? 괜히 힘 뺐다. 아무튼 MySQL도 삭제해준다.
버전 확인해도 안 뜨는 것을 보면 완전히 삭제한 듯 싶다. 그리고 MySQL 다운로드 및 설치하기를 참고하여 MySQL을 다시 다운받고 설치!
DBeaver는 이미 깔아뒀기 때문에 DBeaver와 MySQL 로컬 계정을 연결도 했다.
MySQL & DBeaver 설치하려면 (맥 / 윈도우) 블로그 내용 참고
이 작업을 하지 않으면 CLI 명령어를 사용할 수가 없다.
[윈도우 키] + R 키
>sysdm.cpl
입력해서 시스템 속성에 접근 > [고급] > [환경변수] >Path
찾아서 편집 누르기
MySQL이 저장된 폴더를 찾아서 bin
폴더에 들어가 경로를 복사한다. 아마 대부분 Program Files에 저장되어 있을 것이다.
환경 변수 편집에서 새로 만들기
를 누른 후 복사한 경로를 붙여넣어준 후 확인을 다 눌러주면 끝.
그럼 이제 CLI 명령어를 사용할 수 있게 된다.
MySQL 설치 및 환경변수 설정: 단계별 완전 가이드 블로그 참고
(IntelliJ IDEA CE) spring initializr 웹페이지를 통해서 프로젝트를 생성하거나 IntelliJ IDEA에서 프로젝트를 생성할 수 있다.
하지만! Community Edition에서는 스프링 부트 프로젝트를 바로 세팅할 수 없다. 그렇기 때문에 start.spring.io에서 제공하는 Spring Initialzr에서 프로젝트를 만들어보자!
Artifact에 내가 원하는 프로젝트 이름을 적어주고
Dependencies에 기본적인 것들을 추가한 후 아래 GENERATE
버튼을 누르면 프로젝트 ZIP 파일이 생성된다.
이 파일을 적절한 곳에서 압축해제 한 후 IntelliJ에서 프로젝트를 열어준다.
만들어진 프로젝트의 구조는 이렇다.
build.gradle
파일에는
아까 추가했던 dependencies가 코드로 저장되어 있다.
Application
Run[RestClientTest]Application의 main()
함수를 Run하면 프로젝트가 실행된다.
로그를 잘 살펴보면 8080 포트를 통해서 아파치 톰캣이 실행되었다는 것을 알 수 있다.
주소창에 localhost:8080
을 입력했을 때 이 에러페이지가 뜨면 성공이다!
application.yml
파일 생성spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306
username: // 각자의 유저네임 입력
password: // 각자의 패스워드 입력
원래 프로젝트 구조에는 application.properties
라는 파일이 있을 것이다. 이것을 yml로 바꾼 것이다. properties 파일이나 yml 파일이나 같은 내용(설정)을 담고 있다. 하지만 작성 표기법이 다르고, properties가 조금 더 직관적인 것 같긴 하다. 약간 node.js에서 env파일 만들 때랑 비슷한 느낌... 하지만 yml 형식으로 많이 사용하고, 형식을 알아둘 필요가 있기에! yml을 사용하기로 했다. (팀장님이 yml로 쓰심 ㅎㅎ)
DB를 연결하기 위해서 위의 코드를 작성해준다.
내가 문제였던 것은... url
쪽이었음.
url: jdbc:myslql://
+ 연결할 ip주소 혹은 로컬호스트 + 3306
mysql에 연결할 것이기 때문에 3306을 써줘야 하는데 자꾸 웹 연결 포트인 8080을 써댔음. 1차적으로는 이게 문제였고, 2차적으로는 서버가 다운되어 있어서 연결할 수가 없었다 ㅎ
암튼 이렇게 세팅에서 어이없이 개삽질을... 했었던 기록...