프로그래밍/백엔드 스프링부트

MySQL (맥북)

Mt.Hwang 2025. 7. 4. 09:46

 * Mac에 MySQL 직접 설치

 1. MySQL 설치
터미널에
brew install mysql


 2. MySQL 실행
터미널에
brew services start mysql


 3. MySQL 접속
터미널에
mysql -u root

그러면 명령어가 mysql> 로 바뀜


 4. 기본 생성자 및 DB 생성

-- 새 데이터베이스 생성
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

 . mydb는 데이터베이스명을 의미

-- 사용자 생성 (비밀번호 설정 가능)
CREATE USER 'springuser'@'localhost' IDENTIFIED BY 'springpw';

 . springuser은 새 사용자 계정을 의미
 . @'localhost'는 로컬에서만 접속을 허용하는 것을 의미
 . 외부 접속을 허용하려면 '%' 사용 ex) 'springuser'@'%'
 . springpw는 비밀번호를 의미

-- 권한 부여
GRANT ALL PRIVILEGES ON mydb.* TO 'springuser'@'localhost';
 . mydb의 모든 권한을 'springuser'@'localhost'에게 모두 부여

-- 부여한 권한 설정을 즉시 적용
FLUSH PRIVILEGES;


 5. 스프링부트 설정
application.properties, application.yml 설정


 6. Gradle에 MySQL JDBC 드라이버 의존성 추가

dependencies {
    implementation 'mysql:mysql-connector-java:8.0.33'
}


 7. 스프링부트에서 연결 테스트

스프링부트 실행 후 아래와 같은 메시지가 보이면 성공
HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
Successfully connected to database


..~~~~..

 * 터미널에서 데이터베이스 사용

 1. 터미널에서 MySQL 서버 접속

mysql -u root -p

비밀번호를 입력하면 MySQL 셸로 진입


 2. 원하는 데이터베이스 선택

USE 데이터베이스명;


테이블 목록 확인법은 
SHOW TABLES;

스프링부트의 schema.sql에서 만든 테이블을 터미널에서 확인할 수 있다


..~~~~..

 * sql 파일

src/main/resources/에 sql 파일을 만듬
 . schema.sql
 . data.sql


schema.sql에 테이블 생성 등 스키마 정의

data.sql에 초기 데이터 삽입


..~~~~..

 * 스프링부트 설정 파일에서 schema.sql 명시 가능

application.yml에

spring:
  sql:
    init:
      mode: always
      schema-locations: classpath:schema.sql

이러면 스프링 부트를 실행할 때마다 schema.sql 자동 실행


..~~~~..

'프로그래밍 > 백엔드 스프링부트' 카테고리의 다른 글

스프링부트 설정파일  (1) 2025.07.04
엔티티 애너테이션  (0) 2025.05.11
DAO와 DTO  (0) 2025.05.02
도메인 모델  (0) 2025.05.02
리포지토리 계층  (0) 2025.05.02