{解決しました}。新しいエラー
Heraku ログ エラー:
リーリー情報/背景:
React js フロントエンド (現在 Netlifty でホストされています) Express と MYSQL2 を使用した Javascript ノード バックエンド (Heraku でホスト)
###目標: Neflifty フロントエンド POST リクエストを Heroku バックエンドに接続し、POST ペイロード データを取得して MYSQL テーブルに挿入します。更新日: 2021年9月24日
提案されたことはすべて実行しました。 ClearDB を使用して新しいデータベースを作成しました。これを追加し、mysql Workbench で接続をテストします。必要なテーブルが作成されます。新しいデータベースへの接続を作成するためのバックエンド コードを更新しました。 Heroko 変数をチェックし、新しいデータベースに正しく反映されていることを確認します。現在、認証の問題が発生しています。 {解決済み}
新しいバックエンド コードを修正しました:
リーリー
タイムアウト#########
###質問:
これがワークベンチ上でローカルに接続する場合、変数として追加すると Heroku が接続しないのはなぜですか? {回答済み}
新しい質問:
環境を使用すべきときにポート 8000 を使用しようとするのはなぜですか?なぜタイムアウトになってしまうのでしょうか?
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 インターフェースを使用します)