이전 블로그 글의 방식대로 env 파일을 적용했더니 계속
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 이라는 오류가 나왔다. 처음엔 mysql에서의 문제인가 싶어 비밀번호도 재설정 해보고 mysql_native_password로도 바꿔봤지만 해결되지 않았다.
mysql_native_password로 비밀번호 바꾸기
mysql 비밀번호 재설정
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
https://lifeinprogram.tistory.com/22
그래서 생각해보니 분명 applicaiton.yml 의 환경변수 설정으로 database의 username을 eb로 변경했는데 그게 적용이 안 된건가 싶었다. 그래서 그걸 적용하기 위해 또 eb 라는 계정 추가도 하고 권한 설정도 해줬지만 이것 역시 해결되지 않았다.
user 생성 및 권한 주기 1
user 생성 및 권한 주기 2
진짜 포기하려다가 다시 처음부터 생각해보자 해서 EC2 env 파일 연결하는 방법을 올린 블로그 글들을 정독해봤다. 그 중 config 파일을 따로 만드는게 아닌 프로젝트 실행 파일에 @PropertySource 로 env 파일 경로를 추가하는 글을 보게 되었다.
@PropertySource
이전 방식은 libraryapp/config 파일에
PropertyConfig 을 추가하는 방식으로 했는데
@Configuration
@PropertySources({
@PropertySource("classpath:properties/env.properties")
})
public class PropertyConfig {
}
LibraryAppApplication 에 @PropertySource 를 추가하는 방법으로 바꿔보았다.
@SpringBootApplication
@PropertySource("classpath:properties/env.properties")
public class LibraryAppApplication {
public static void main(String[] args) {
SpringApplication.run(LibraryAppApplication.class, args);
}
}
방법을 바꿨더니 드디어 오류 메세지가 바뀌었다!!
nested exception is java.io.FileNotFoundException: class path resource [properties/env.properties] cannot be opened because it does not exist
properties/env.property 파일이 없다는 오류이다.
이 오류는 ec2 계정으로 로그인한 상태에서 본인의 프로젝트 파일이 있는 곳으로 들어가 프로젝트 실행할 때 있는 파일의 위치와 동일한 위치에 properties/env.property 을 만들면 된다.

3일 만에 해결 했다,,!!!
