ホームページ  >  に質問  >  本文

原标题:この Heroku mysql 接続エラーの原因は何ですか? (フロントエンドからバックエンドの POST リクエストに接続しようとしています)フロントエンドからバックエンドに接続する際の Heroku mysql 接続エラーの原因を特定する

{解決しました}。新しいエラー

Heraku ログ エラー:

リーリー

情報/背景:

React js フロントエンド (現在 Netlifty でホストされています) Express と MYSQL2 を使用した Javascript ノード バックエンド (Heraku でホスト)

###目標: Neflifty フロントエンド POST リクエストを Heroku バックエンドに接続し、POST ペイロード データを取得して MYSQL テーブルに挿入します。

更新日: 2021年9月24日

提案されたことはすべて実行しました。 ClearDB を使用して新しいデータベースを作成しました。これを追加し、mysql Workbench で接続をテストします。必要なテーブルが作成されます。新しいデータベースへの接続を作成するためのバックエンド コードを更新しました。 Heroko 変数をチェックし、新しいデータベースに正しく反映されていることを確認します。現在、認証の問題が発生しています。 {解決済み}

新しいバックエンド コードを修正しました:


リーリー タイムアウト######### ###質問: これがワークベンチ上でローカルに接続する場合、変数として追加すると Heroku が接続しないのはなぜですか? {回答済み}

新しい質問: 環境を使用すべきときにポート 8000 を使用しようとするのはなぜですか?なぜタイムアウトになってしまうのでしょうか?

これに関してご協力いただければ幸いです。

P粉021553460P粉021553460311日前647

全員に返信(1)返信します

  • P粉610028841

    P粉6100288412023-12-14 09:46:11

    Heraku 上で実行されているデータベース インスタンスがないため、データベースに接続できません。 Heroku CLI を使用してコードをプッシュすると、Heraku は NodeJS アプリケーションをセットアップしますが、データベースもセットアップするという意味ではありません。

    Heraku のインターフェイスまたは CLI を介してアプリケーションにデータベースを追加できます。 CLI から (ClearDB をセットアップしますが、任意の MySQL データベース プラグインが機能します):

    リーリー

    完了したら、新しいデータベース URL (localhost ではなく) が必要になります:

    リーリー

    最後のコマンドの出力は次のようになります:

    リーリー

    これで、新しい情報を使用してコードを少し変更する必要があります。バージョン管理でデータベースの資格情報を公開したくない場合は、環境変数を使用して公開できます:

    リーリー

    さらに、実行中の Heroku アプリケーションの環境変数を設定する必要があります:

    リーリー

    これで、Heraku 上で実行されるデータベース インスタンスと、データベースに接続できる NodeJS アプリケーション インスタンスが完成しました。

    さらに詳しく知りたい場合は、次のリンクを参照してください:

    https:// /lo-victoria.com/build-a-mysql-nodejs-crud-app-4-deploying-to-heroku-finale

    https://www.bezkoder.com/deployment-node-js-app-heroku-cleardb-mysql/

    https://raddy.co.uk/blog/how-to-deploy-node-js-express-ejs-mysql-website-on-heroku-cleardb/(これは Heroku インターフェースを使用します)< /p>

    返事
    0
  • キャンセル返事