国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

原標(biāo)題:Heroku mysql 連接錯(cuò)誤是什么原因造成的? (嘗試將前端連接到后端 POST 請(qǐng)求)識(shí)別前端連接到后端時(shí) Heroku mysql 連接錯(cuò)誤的來源
P粉021553460
P粉021553460 2023-12-13 12:40:42
0
1
878

{已解決}。新錯(cuò)誤

Heroku 日志錯(cuò)誤:

Error: connect ECONNREFUSED 127.0.0.1:3306
2021-09-23T18:24:12.236657+00:00 app[web.1]: at TCPConnectWrap.afterConnect.          [as        oncomplete] (node:net:1146:16) {
2021-09-23T18:24:12.236658+00:00 app[web.1]: errno: -111,
2021-09-23T18:24:12.236658+00:00 app[web.1]: code: 'ECONNREFUSED',
2021-09-23T18:24:12.236658+00:00 app[web.1]: syscall: 'connect',
2021-09-23T18:24:12.236659+00:00 app[web.1]: address: '127.0.0.1',
2021-09-23T18:24:12.236659+00:00 app[web.1]: port: 3306,
2021-09-23T18:24:12.236659+00:00 app[web.1]: fatal: true

信息/背景:

React js 前端(現(xiàn)在托管在 Netlifty 上) 使用 Express 和 MYSQL2 的 Javascript Node 后端(托管在 Heroku 上)

目標(biāo): 將 Neflifty 前端 POST 請(qǐng)求與 Heroku 后端連接,獲取 POST 負(fù)載數(shù)據(jù)并將其插入 MYSQL 表中。

更新:2021 年 9 月 24 日

我已經(jīng)完成了所有建議的事情。我已經(jīng)使用clearDB 創(chuàng)建了一個(gè)新數(shù)據(jù)庫(kù)。添加它并在 mysql Workbench 中測(cè)試連接。創(chuàng)建了所需的表。更新了用于創(chuàng)建與新數(shù)據(jù)庫(kù)的連接的后端代碼。檢查 Heroko 變量并確保它們正確反映到新數(shù)據(jù)庫(kù)中?,F(xiàn)在有一個(gè)授權(quán)問題。 {已解決}

經(jīng)過更正的新后端代碼:


const express = require('express');

const app = express();

const port = process.env.Port || 8000

app.list en(port);
console.log(`server is listing on ${port}`);
超時(shí)


問題: 如果這在工作臺(tái)上本地連接,如果將它們添加為變量,為什么 Heroku 不會(huì)連接? {已回答}

新問題: 為什么它應(yīng)該使用環(huán)境時(shí)卻嘗試使用端口 8000?為什么會(huì)超時(shí)?

對(duì)此的任何幫助將不勝感激。

P粉021553460
P粉021553460

全部回復(fù)(1)
P粉610028841

您無法連接到數(shù)據(jù)庫(kù),因?yàn)?Heroku 上沒有運(yùn)行任何數(shù)據(jù)庫(kù)實(shí)例。一旦您使用 Heroku CLI 推送代碼,Heroku 就會(huì)為您設(shè)置一個(gè) NodeJS 應(yīng)用程序,但這并不意味著它也會(huì)為您設(shè)置一個(gè)數(shù)據(jù)庫(kù)。

您可以通過 Heroku 的界面或 CLI 將數(shù)據(jù)庫(kù)添加到您的應(yīng)用程序。從 CLI(我們將設(shè)置 ClearDB,但任何 MySQL 數(shù)據(jù)庫(kù)插件都可以工作):

heroku addons:create cleardb:ignite

完成之后,您想要新的數(shù)據(jù)庫(kù) URL(不是 localhost):

heroku config | grep CLEARDB_DATABASE_URL

最后一個(gè)命令的輸出將類似于:

mysql://:@/?reconnect=true

現(xiàn)在,有了這個(gè),您應(yīng)該使用新信息稍微修改您的代碼。您不想在版本控制中公開數(shù)據(jù)庫(kù)憑據(jù),因此您可以使用環(huán)境變量來完成它:

const db =  mysql.createConnection({
    connectionaLimit: 50,
    user: process.env.DB_USER,
    host: process.env.DB_HOST,
    password: process.env.DB_PASSWORD,
    database: process.env.DATABASE,
    port: 3306
});

此外,您需要為正在運(yùn)行的 Heroku 應(yīng)用程序設(shè)置環(huán)境變量:

heroku config:set DB_USER=
heroku config:set DB_PASSWORD=
heroku config:set DB_HOST=
heroku config:set DATABASE=

現(xiàn)在,您有一個(gè)在 Heroku 上運(yùn)行的數(shù)據(jù)庫(kù)實(shí)例和一個(gè)可以連接到該數(shù)據(jù)庫(kù)的 NodeJS 應(yīng)用程序?qū)嵗?/p>

要進(jìn)一步閱讀,您可能想查看這些鏈接:

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

https://www.bezkoder.com/部署節(jié)點(diǎn)-js-app-heroku-cleardb-mysql/

https://raddy.co.uk/blog/how-to-deploy-node-js-express-ejs-mysql-website-on-heroku-cleardb/(這個(gè)使用 Heroku 的界面)

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板