MySQL 스프링 부트에 연동 해보기 (2) 커넥션 생성 해보기, 스프링부트 연결하기
이전 글에서 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 연결을 하려면 커넥션을 생성할 때 키체인에 꼭 비밀번호를 저장해주어야 한다!
거의 세팅이 절반이었다..
그래도 연결 방법을 기록으로 남겨두어 다음에 헷갈리면 참고해야겠다.