* 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 자동 실행
..~~~~..