私は角度4、春のブートとMysqlで動作します。ローカルでは、すべて正常に動作します。私はリモートサーバであるCentOS 7にデプロイしようとしています。私のウェブサイトにアクセスすると、リモートサーバ上にあるmysqlデータベースからではなく、自分のローカルデータベースからデータを取得します。リモートの春のブートアプリケーションは、私のローカルmysqlにまだ接続しています
私は別のコンピュータで試しましたが、結果は同じです、それはローカルコンピュータからデータを取ります!リモートサーバ(のみ便利なフィールド)に
server.port = 8081
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?autoReconnect=true&useSSL=false
spring.datasource.username=username
spring.datasource.password=password
netstat -tln
:ここ
は私の春のブートのapplication.propertiesファイルです
Proto Recv-Q Send-Q local address remote address State
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp6 0 0 :::8081 :::* LISTEN
MySQLデータベースはまったく同じ構造を持っている、と同じユーザー名パスワード。
- UPDATE - 提案のため
おかげで、私はfinnallyこの問題を解決しました。それは、SpringとMysqlからではなく、AngularとSpringの間の接続から来ました。
ローカルコンピュータでSpringbootインスタンスが実行されていて、リモートのAngularが接続されていました。 Angularの設定ファイルでapiUrl=localhost:8081
をapiUrl=<my remote IP>:8081
に置き換えて再度展開し、私はポート8081(Springbootのポート)を全員に公開しました。
しかし、正直言って私のSpringbootアプリはすべての人がアクセスでき、Angularアプリでしかアクセスできない必要があるため、この方法は嫌いです。誰かが解決策を持っている場合、この質問はまだ開いています。ありがとう
データソースURLを介して 'localhost'に接続するようjdbcドライバに指示します。したがって、ローカルホストに接続することはまさにそれが行うことです。なぜ何か他のことをしなければならないのですか? –
アプリケーションはリモートサーバーにデプロイされているため、ローカルホストは自分のデバイスではなくリモートサーバーです –
ローカルマシンが(IPまたはホスト名で)参照されていないかどうかを確認しましたか?この時点ですべてである可能性があります。 –