springboot/DB

MySQL 스프링 부트에 연동 해보기 (2) 커넥션 생성 해보기, 스프링부트 연결하기

youngjae-kim 2024. 5. 14. 14:28
728x90
반응형

이전 글에서 mysql 설치를 해보았다.

https://happy-youngjae.tistory.com/46

 

MySQL 스프링 부트에 연동 해보기 (1) MySQL 완전히 삭제 후 재 설치하기

나의 경우 mac OS를 사용하고 있어서 mac 기준으로 과정이 진행된다. MySQL 서버가 사용중이던 포트 및 프로세스 종료시키기포트 확인하기netstat (Network Statistics)netstat 명령어는 네트워크 연결, 라우

happy-youngjae.tistory.com

 

mysql 설치 완료 후

# 3306은 mysql 포트 번호
netstat -an |grep 3306

# 또는
ps -ef |grep mysql

 

명령어를 통해 현재 mysql 프로세스나 포트 리스닝을 하고 있는 중인지 확인하고 서버가 켜져 있지 않다면

# 시작 명령어
brew services start mysql

# 종료 명령어는 
brew services stop mysql

 

그 다음 root 계정으로 접속하여 사용자를 생성해주었다.

drop user if exists test@`%`;
create user test@`%` identified by '0000';
grant all privileges on *.* to test@`%`;
FLUSH PRIVILEGES;

select *
from mysql.user
where `User` = 'test';

 

test@`%` @ 뒤의 `%` 구문

@ 기호 뒤에 오는 %는 해당 사용자가 접근할 수 있는 호스트를 나타낸다.

% 는 와일드카드로 사용되어 어떤 호스트에서든지 test사용자가 접근할 수 있음을 의미한다. 즉, 이 사용자는 네트워크상의 어떤 위치에서든지 MySQL 서버에 접속할 수 있다. 특정 IP 주소나 도메인을 지정하고 싶다면%` 대신에 그 주소를 사용하면 된다.

 

*.* 구문:

이 구문은 권한을 부여할 때 사용되며, MySQL에서 데이터베이스와 테이블을 지정하는 방법.

첫 번째 *는 데이터베이스를 나타내고, 두 번째 *는 테이블을 나타낸다. 따라서 *.*는 모든 데이터베이스의 모든 테이블을 의미.

이 구문을 사용함으로써 test 사용자에게 모든 데이터베이스에 대한 모든 권한을 부여하게 됩니다.

 

*.*으로 사용자에게 권한을 부여하는 것은 신뢰할 수 있는 사용자에게만 해당 권한을 부여하는 것을 추천.

 

생성한 사용자로 커넥션 생성하기

위에서 생성한 정보를 가지고 커넥션을 생성해 주었다.

 

 

 

버전에 대한 경고문인거 같다. continue anyway를 클릭

 

 

성공적으로 테스트 연결이 완료되고 ok 를 누르면 커넥션이 생성된 것을 확인할 수 있다.

 

 

서버를 시작한 뒤 yml에서 생성해준 db에 접근하면 데이터가 들어가 있는 것을 확인할 수 있었다.

 

아 그리고 root가 아닌 사용자로 db 연결을 하려면 커넥션을 생성할 때 키체인에 꼭 비밀번호를 저장해주어야 한다!

 

 

거의 세팅이 절반이었다..

 

그래도 연결 방법을 기록으로 남겨두어 다음에 헷갈리면 참고해야겠다.

728x90
반응형