[SpringBoot] MySQL 설치 & SpringBoot 프로젝트 생성

sookyoung.k·2024년 4월 19일
0

🌿 Spring

목록 보기
2/3
post-thumbnail

이직 후 처음으로 받은 업무... 인데 며칠 째 못하는 중. 자괴감 쌉 오진다... 그런데 팀장님도 옆에 안계시고, 의지하거나 대화를 나눌 수 있는 동료도 없는 상황 😭 (얼른 뽑아주세요...) 그래서 다른 친구의 도움을 받아서 연동까지는 정말 오늘 끝내려고 한다. 그 과정을 기록해보겠음... 미래의 나 혹은 누군가가 도움을 얻을 수 있길 바라며...


원래는 mariaDB를 사용해서 연결을 하려고 했는데 잘은 모르겠지만 계정 권한 문제로 인하여 mysql을 사용하기로 했다.

😭 문제 상황

걍 연결이 안됨... 뭐가 암튼 계속 안됨
그래서 mariaDB랑 MySQL을 삭제하고 다시 깔아보려고 했다.

하지만 cmd 명령어에 버전을 확인하면 나오는데 제어판에서는 보이지 않는다.

원인설치 과정에서 특정 옵션을 선택하지 않았거나, 시스템의 갱신이 제대로 이루어지지 않았을 수 있다.

[MySQL] install을 했는데 서비스에 안나올때 추가하기.
출처: https://bryan7.tistory.com/452 [민서네집:티스토리]
여기서 나온 방법을 시도하거나 아예 재설치를 하는 것이 좋을듯 하다.

🐬 MySQL 재설치

♟️ Windows 10/11에서 작업관리자에서 [명령프롬프트]창을 관리자 계정으로 열기

[윈도우 키 + R 키] 눌러서 실행 창에 taskmgr 명령어 입력 > Ctrl + [새 작업 실행]버튼
출처: Windows 10 / 11 작업관리자에서 명령프롬프트(cmd)를 실행하는 방법

[bin] 디렉터리 안에서 mysqld --install 옵션을 줘서 실행시키면 서비스 항목에 등록된다고 한다.

뭐 이런 방법을 시도해봤으나 여전히 제어판에 보이지 않는다. 그런 이유로 아예 db를 전부 삭제하고 mysql만 다시 깔아보기로 한다...

그러던 와중에

MariaDb... 없어졌니?

  1. 경로 문제
  2. 설치되지 않음
  3. 이미 삭제됨

이 세 가지 중에 하나일텐데... 없는 것 같다. 내가 설치를 안 했나??? 한... 것 같았는데? 괜히 힘 뺐다. 아무튼 MySQL도 삭제해준다.

버전 확인해도 안 뜨는 것을 보면 완전히 삭제한 듯 싶다. 그리고 MySQL 다운로드 및 설치하기를 참고하여 MySQL을 다시 다운받고 설치!

DBeaver는 이미 깔아뒀기 때문에 DBeaver와 MySQL 로컬 계정을 연결도 했다.
MySQL & DBeaver 설치하려면 (맥 / 윈도우) 블로그 내용 참고

♟️ MySQL 환경변수 설정

이 작업을 하지 않으면 CLI 명령어를 사용할 수가 없다.

[윈도우 키] + R 키 > sysdm.cpl 입력해서 시스템 속성에 접근 > [고급] > [환경변수] > Path 찾아서 편집 누르기

MySQL이 저장된 폴더를 찾아서 bin 폴더에 들어가 경로를 복사한다. 아마 대부분 Program Files에 저장되어 있을 것이다.

환경 변수 편집에서 새로 만들기를 누른 후 복사한 경로를 붙여넣어준 후 확인을 다 눌러주면 끝.

그럼 이제 CLI 명령어를 사용할 수 있게 된다.

MySQL 설치 및 환경변수 설정: 단계별 완전 가이드 블로그 참고

🌼 Spring Boot 프로젝트 생성

(IntelliJ IDEA CE) spring initializr 웹페이지를 통해서 프로젝트를 생성하거나 IntelliJ IDEA에서 프로젝트를 생성할 수 있다.

🌱 Spring Initialzr

하지만! 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차적으로는 서버가 다운되어 있어서 연결할 수가 없었다 ㅎ

암튼 이렇게 세팅에서 어이없이 개삽질을... 했었던 기록...

profile
영차영차 😎

0개의 댓글