1. ホーム
  2. マイスル

[エラー解決】JDBC接続の取得に失敗しました。

2022-03-16 17:55:47
<パス

springbootでmybatisを使うと、いつもデータベースが接続できないというエラーに遭遇するのですが、その解決方法を以下に記します。

エラーが報告されました。

Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection;

spring.MyBatisExceptionTranslator.translateExceptionIfPossible

ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)

MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)


(1) application.propertiesに間違ったパスワードがあることがわかりました。

jdbc.driver=com.mysql.cj.jdbc.
jdbc.url=jdbc:mysql://localhost:3306/imoocdemo?useUnicode=true&characterEncoding=utf8&useSSL=false
jdbc.username=root
jdbc.password=...


(2)データベースのパスワードを忘れていることがわかり、ネットスタートなどでパスワード認証をスキップしても変更できないので、sqlを再インストールしたところ

(3) sqlを再インストールし、プロパティで正しいパスワードを入力しても接続に失敗するので、ideaでデータ可視化ツールを追加できることを知り、ドライバをダウンロードし、タイムゾーンをUTCに設定したら接続できるようになりました!



















(4)再度実行したところ、再び接続不能に陥りました。jdbcのurlにタイムゾーンを追加する serverTimezone で、うまくいきました!

jdbc.url=jdbc:mysql://localhost:3306/imoocdemo?useUnicode=true&characterEncoding=utf8&useSSL=false&&serverTimezone =CST


mysqlのjdbcドライバの最新版(6.0+)を使用すると、データベースとシステムのタイムゾーンの違いにより、到達できない問題が発生するため。

注)CSTとは、中国上海時間のことです(北京時間、東8時と同じ)。