Springboot構成MySQLデータベースで発生した一連の問題経験のまとめ(吐血整理)


文書ディレクトリ
  • 1.問題発見
  • .従来方式
  • 3.位置決め問題
  • 4.総括構想
  • 5.検索レコード
  • 1.問題発見
    先日配置したリモートサーバーシステムはCentos 7で、MySQLをインストールした後、Navicatは接続することができて、自分がspringbootプロジェクトでずっと接続できなくて、私をとても憂鬱にさせて、その間に2人の知人を探して彼らのプロジェクトで接続して、大丈夫です.最初のプロンプトエラーは次のとおりです.ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
    2.一般方式
    mysqlパスワードのライセンスを変更させた経験のある文章は、20回も見ませんでした(以下のコマンドは完全に手動でノックされています).しかし、私の問題はここではありません.grant all privileges on *.* to username@'host_ip_address' identified by 'password';flush privileges;
    TIPS: if host_ip_address equals ‘%’ means all hosts can access in.
    もちろん、デバッグ中に他のエラーが発生しました.ヒントは次のとおりです.A ResourcePool could not acquire a resource from its primary factory or source Connections could not be acquired from the underlying database! com.mchange.v2.resourcepool.TimeoutException
    3.位置決め問題
    異なるヒントに対して、私は何日も(本当に何日も)検索して、それから1本の変更をして、やっとデータソースの構成に問題があるべきだと位置づけて、それから1本ずつ対照して問題の所在を発見しました.
    springbootでc 3 p 0接続を構成する正しいフォーマットは以下の通りです.
    c3p0.jdbcUrl=jdbc:mysql://ip:port/dnname?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false
    c3p0.user=${username}
    c3p0.password=${password}
    c3p0.driverClass=com.mysql.jdbc.Driver
    

    私自身の構成はこうです
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/malldb?useUnicode=true&characterEncoding=UTF-8
    spring.datasource.data-username=root
    spring.datasource.data-password=root
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.generate-unique-name=true
    

    よく見ると、接頭辞c 3 p 0やspring.datasourceは重要ではありません.肝心なのは、jdbcUrlとurl!!!spring.datasource.urlという書き方がspring-boot統合接続データベースの書き方ですが、私が構成しているのはc 3 p 0です.
    これで、真相が明らかになった!ついに问题の根源がどこにあるかが明らかになった...この穴は本当に大きくて、深い!だから基础の配置の时はやはりまじめで、よく(原理を理解する).
    4.考え方をまとめる
    このような問題が発生した場合、この考え方に従って一つ一つ調べるのは大丈夫だと思います.前人の経験を借りて、ここに添付します.
    1,      :driver=com.mysql.jdbc.Driver
    2,         :url=jdbc:mysql://localhost:3306/test?3useUnicode=true&;characterEncoding=utf8
    3,       :username=root, password=root
    
    4,           
    
    5,          jar mysql-connector-java-5.1.6-bin.jar
    
    6,mysql root         ,      ,         :
      mysql   :
    grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
    flush privileges;
    

    5.検索レコード
    この問題を処理している間、検索した文章には以下の出典が含まれています.
    お父さんのプログラミングの経験を覚えて、涙が走ります...
    ローカル・データベースへのリンクが正しい場合、他の情報が間違っています.A ResourcePool could not acquire a resource from its primary factory or sour卵痛の問題
    データベース接続エラー集錦A ResourcePool could not acquire a resource from its primary factory or source
    c 3 p 0プロファイルエラー
    プロジェクト経験の共有——Access denied for user‘root’@‘localhost’(using password:YES)を完璧に解決する
    MySql ERROR 1044(42000)エラー解決
    c 3 p 0データベースを使用してプールに接続するとcom.mchange.v 2.resourcepool.TimeoutExceptionが表示されます.
    Springboot c 3 p 0データベースを使用してプールに接続する方法
    解決:Connections could not be acquired from the underlying database!
    A ResourcePool could not acquire a resource from its primary factory or source