프로젝트 환경설정

oh_eol·2024년 4월 15일
0

📍 스프링 어플리케이션 구동 에러

먼저 진행되고 있던 프로젝트에 합류하고, swagger 문서를 확인하기 위해 스프링을 구동하자 다음과 같이 에러가 생겼다.

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

확인해보니 db가 실행되지 않아서였다. 현 프로젝트에서 mysql을 사용하는데, mysql을 지워놨기 때문에 다시 설치부터 하기로 했다.


📍 MySQL 설치

Homebrew를 이용해 설치해줬다. 설치 순서는 다음과 같다.

homebrew 업데이트

brew update

mysql을 homebrew를 통해 설치

brew install mysql
  • ‼️ 나는 여기서 마지막에 다음과 같은 에러가 떴다.

    Error: Cannot install mariadb because conflicting formulae are installed.
    mysql: because mariadb, mysql, and percona install the same binaries
    Please brew unlink mysql before continuing.
    Unlinking removes a formula's symlinks from /usr/local. You can
    link the formula again after the install finishes. You can --force this
    install, but the build may fail or cause obscure side effects in the
    resulting software.

  • mariadb 관련 문제가 생겼다. 일단 넘어갔지만 아래에서 해결한다.

mysql의 버전 확인

mysql --version
  • 이 때 버전이 나온다면 제대로 설치가 된것이다.
    만약에 버전이 안 뜬다면, 재설치를 해주는 것이 좋으므로 brew reinstall mysql을 시행해주고 다시 버전을 뜨게끔 해주는 것이 좋다.
  • 버전은 정상으로 나왔다.

mysql 서버 시작

brew services start mysql

mysql 초기 환경 세팅

mysql_secure_installation
  • 오류가 발생했다.

    Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

  • 환경 세팅 답변
    • VALIDATE PASSWORD COMPONENT ( 복잡한 비밀번호 여부 ) : n
    • set the password (비밀번호 설정 & 확인)
    • Remove anonymous users? (익명 사용자 삭제) : y (n일경우는 mysql 만으로 접속 가능하다)
    • Disallow root login remotely? (원격 접속 허용하지 않을 것인지) : y(localhost 외 다른 IP에서의 접속을 허용하지 않게 된다.)
    • Remove test database and access to it? (test DB 삭제 여부) : n(이럴경우 삭제되지 않는다.)
    • Reload privilege tables now? (변경된 권한을 반영하여 테이블 다시 로드) : y
    • 마지막에 All done! 이 뜨면 세팅 완료.

MySQL 접속

mysql -u root -p
  • 설정해둔 패스워드를 입력하면 접속 성공.
  • 접속 성공하면 다음과 같이 나온다.

📍 MySQL DataBase 만들기

데이터베이스 생성

  • 데이터베이스 만들기
	mysql> create database [db 이름: realTimeStream];
	mysql> show databases;
  • 아래와 같이 성공적으로 만들어진 것을 확인 가능하다.

📍 application.yml 작성

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/realTimeStream
    username: root
    password: (비밀번호)
    driver-class-name: com.mysql.cj.jdbc.Driver
  • 만든 mysql
    작성 후 스프링 어플리케이션을 재구동했다. 정상적으로 실행되었다.

참고

맥에 MySQL 설치하기: https://velog.io/@mingle_1017/Mysql-%EC%84%A4%EC%B9%98-%EB%B0%8F-%ED%85%8C%EC%9D%B4%EB%B8%94-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0%EB%A7%A5%EB%B6%81-%EB%B2%84%EC%A0%84

profile
공부 중입니다.

0개의 댓글