AWSのRDSとEclipseを接続する方法
解決したいこと
以前Eclipseで作成したプロジェクトとRDSを接続したいです。
発生している問題・エラー
プロジェクト実行時にJDBCが見つかりませんと以下のエラーが発生します、エラーが多いため抜粋して記述します
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Failed to initialize dependency 'dataSourceScriptDatabaseInitializer' of LoadTimeWeaverAware bean 'entityManagerFactory': Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Failed to execute database script
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Failed to execute database script
Caused by: org.springframework.jdbc.datasource.init.UncategorizedScriptException: Failed to execute database script
Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection
Caused by: java.sql.SQLSyntaxErrorException: Unknown database 'second-hands'
該当するソースコード
propertiesには以下のように記述しました
spring.datasource.url=jdbc:mysql://エンドポイント:3306/second-hands?serverTimezone=Asia/Tokyo&characterEncoding=UTF-8
spring.datasource.username=ユーザー名
spring.datasource.password=パスワード
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.sql.init.encoding=utf-8
spring.sql.init.mode=always
aws.access.key.id=キー
aws.secret.access.key=シークレットキー
ここで指定したエンドポイント、ユーザー名、パスワードはRDSの設定と相違ないことを確認済みです。
pom.xmlには以下の記述をしております。
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
自分で試したこと
RDSではセキュリティグループでMYSQL/Auroraのポート番号3306の0.0.0.0/0をインバウンドルール・アウトバウンドルールに設定し、パブリックアクセスを許可し、NACLにも同様の設定を施しました。
また、Windowsのターミナル上で以下のコマンドを実行しTrueが返され接続できることは確認済みです。
PS C:\Users\PC_User> Test-NetConnection -ComputerName second-hands.//省略 -Port 3306
ComputerName : second-hands.//省略
RemoteAddress : //省略
RemotePort : 3306
InterfaceAlias : Wi-Fi
SourceAddress : //省略
TcpTestSucceeded : True
RDSのMySQLを使用しようとする前は以下のコードのようにMySQLを普通に使用しておりました
#spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/データベース名
#spring.datasource.username=ユーザー名
#spring.datasource.password=パスワード
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.sql.init.encoding=utf-8
#spring.sql.init.mode=always
#spring.jpa.open-in-view: true
上記のコードで以前作成した別のDBに接続できることは確認済みです。
0 likes