0

Amazon EC2 Linux AMI の tomcat7 にデプロイされた Java Spring アプリケーションがあります。Mysql は同じインスタンスで実行されています。SSH接続を使用してmysqlサーバーにリモートで接続できます。しかし、Spring アプリケーションから mysql サーバーにアクセスできません。Tomcat の context.xml は次のようになります。

    <Resource name="jdbc/db"   
       auth="Container"   
       type="javax.sql.DataSource"   
       uniqueResourceName="jdbc/db"   
       username="root"   
       password="pass"   
       driverClassName="com.mysql.jdbc.Driver"  
       url="jdbc:mysql://localhost:3306/db"  
       maxActive="15"  
       maxIdle="7"  
       validationQuery="Select 1" />  

これは機能しません。実際には、エラーがスローされないため、db が接続されているかどうかを判断できません。しかし、localhost を他のインスタンスで実行されているサーバーに置き換えると、期待どおりに動作します。誰かが私が間違っているところを指摘してくれると助かります。

4

2 に答える 2

0

tomcat エラーを読み取ってみてください - nano usr/share/tomcat8/logs/catalina.out

私のconnection.propertyファイルに、このようなコードを書きました

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/?user=root&password=pass

tomcat8 で実行されるアプリは、ローカルの mysql に接続し、すべて問題ありません。単純な読み取りエラー コンテキストは、何かが存在しないか、大文字と小文字を区別するために mysql がエラーをスローする可能性があります。

于 2015-11-21T20:33:25.417 に答える
0

ポート 3306 は開いていますか? EC2 のデフォルト セキュリティ グループは、新しいインスタンスがアクセスできるポートを制御し、デフォルトではかなり制限されています。AWS コンソールにログインし、[ EC2] > [ネットワークとセキュリティ] > [セキュリティ グループ] の下に制限的なルールがないことを確認します。

于 2013-09-19T21:06:03.810 に答える