MySQL ConohaVPS Spring framework

Spring-data-JPA使用時のbuild.gradleの設定

投稿日:2017年11月23日 更新日:

1.build.grade
compile(“org.springframework.boot:spring-boot-starter-data-jpa”)

***************************
APPLICATION FAILED TO START
***************************
Description:
Cannot determine embedded database driver class for database type NONE

2.application.properties
spring.datasource.url=jdbc:mysql://IPアドレス:3306/oldDomain

Loading class `com.mysql.jdbc.Driver’. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

Fri Nov 24 23:49:18 JST 2017 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

java.sql.SQLException: Access denied for user ”@’KDXXXXXXX.au-net.ne.jp’ (using password: NO)

3.application.properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration’: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSource’ defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method ‘dataSource’ threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver

Fri Nov 24 23:53:49 JST 2017 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

java.sql.SQLException: Access denied for user ”@’KD111239085211.au-net.ne.jp’ (using password: NO)

4.application.properties
spring.datasource.username=xxxxxx
spring.datasource.password=xxxxxxx

2017-11-24 23:58:02.548 INFO 5716 — [ main] c.n.o.OldDomainManagerApplication : Started OldDomainManagerApplication in 8.577 seconds (JVM running for 10.733)
Fri Nov 24 23:58:02 JST 2017 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

Cannot determine embedded database url for database type NONE spring.datasource.url=jdbc:mysql://150.95.181.92:3306/oldDomain

 

build.gradleに「compile group: ‘mysql’, name: ‘mysql-connector-java’, version: ‘6.0.6’」この記述があるならば、application.propertiesに「spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver」この記述はいらない。

しかしそれを消すと、こんな警告が出る。

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

そのためやはり、application.propertiesに「spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver」この記述はあった方がよい。

VPSのMySQLが外からの接続を拒否しているため、受け入れるようにしなければならない。>>MySQLに外部ホストから接続できるように設定する

mysql>select user,host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| oldDomain | localhost |
| root | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)

oldDomainというユーザーはlocalhostからしか接続できないという設定になっている。

mysql>grant all privileges on oldDomain.* to oldDomain@"%" identified by 'yourpassword' with grant option;
Query OK, 0 rows affected, 1 warning (0.01 sec)

上記命令により、外部のどのホストからでも接続できるようになります。

mysql> select user,host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| oldDomain | % |
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| oldDomain | localhost |
| root | localhost |
+------------------+-----------+
6 rows in set (0.01 sec)

このように、ワイルドカードの行が追加されています。

これでも接続できない場合は、別の層で遮断されている可能性があります。>>MySQLサーバに外部からアクセスする

$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
↓
#bind-address = 127.0.0.1

 

-MySQL, ConohaVPS, Spring framework

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

シナリオクラスでControllerクラスとServiceクラスをシンプルに保つ

no image

Mavenの各Springframeworkのの調べ方

Mavenで<dependency>を追加するときに、 eclipseでは<version>が必要となります。 Maven Repositoryで管理されています。 Sprin …

no image

8080ポートを使用しているプロセスの調べ方

——————— 環境 Conoha VPS Ubuntu 16.04 ———&# …

no image

Spring Tool Suite for Eclipseプラグインをインストールする

ヘルプ>マーケットプレイスからDLする。

no image

Spring徹底入門の第4章のSpring MVCアプリが実行できなかった

「Spring徹底入門」でSpringMVCの勉強をしています。 第4章のアプリケーションを手打ちで入力したのですが、うまく起動できませんでした。 tomcat起動時にエラーとなってしまい、正常起動で …