찾다

 >  Q&A  >  본문

原标题:이 Heroku mysql 연결 오류의 원인은 무엇입니까? (프런트엔드에서 백엔드 POST 요청 연결 시도)프런트엔드에서 백엔드 연결 시 Heroku mysql 연결 오류 원인 파악

{해결됨}. 새로운 오류

Heroku 로그 오류:

으아악

정보/배경:

React js 프론트엔드(현재 Netlifty에서 호스팅됨) Express 및 MYSQL2(Heroku에서 호스팅)를 사용하는 Javascript 노드 백엔드

목표: Neflifty 프론트엔드 POST 요청을 Heroku 백엔드와 연결하고 POST 페이로드 데이터를 가져와 MYSQL 테이블에 삽입합니다.

업데이트 날짜: 2021년 9월 24일

제안된 모든 작업을 수행했습니다. ClearDB를 사용하여 새 데이터베이스를 만들었습니다. 이를 추가하고 mysql Workbench에서 연결을 테스트하십시오. 필요한 테이블이 생성됩니다. 새 데이터베이스에 대한 연결을 생성하기 위한 백엔드 코드가 업데이트되었습니다. Heroko 변수를 확인하고 새 데이터베이스에 올바르게 반영되었는지 확인하세요. 이제 인증 문제가 발생했습니다. {해결됨}

새로 수정된 백엔드 코드:


으아악 타임아웃


질문: 이것이 워크벤치에서 로컬로 연결되는 경우 변수로 추가하면 Heroku가 연결되지 않는 이유는 무엇입니까? {답변}

새 질문: 환경을 사용해야 하는데 왜 포트 8000을 사용하려고 합니까? 시간이 초과되는 이유는 무엇입니까?

이 문제에 대한 도움을 주시면 대단히 감사하겠습니다.

P粉021553460P粉021553460354일 전698

모든 응답(1)나는 대답할 것이다

  • P粉610028841

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

    Heroku에서 실행 중인 데이터베이스 인스턴스가 없기 때문에 데이터베이스에 연결할 수 없습니다. Heroku CLI를 사용하여 코드를 푸시하면 Heroku가 NodeJS 애플리케이션을 설정하지만 이것이 데이터베이스도 설정한다는 의미는 아닙니다.

    Heroku의 인터페이스나 CLI를 통해 애플리케이션에 데이터베이스를 추가할 수 있습니다. CLI에서(ClearDB를 설정할 예정이지만 모든 MySQL 데이터베이스 플러그인이 작동함):

    으아악

    완료되면 새 데이터베이스 URL(localhost 아님)을 원합니다.

    으아악

    마지막 명령의 출력은 다음과 같습니다.

    으아악

    이제 새로운 정보로 코드를 약간 수정해야 합니다. 버전 제어에서 데이터베이스 자격 증명을 노출하고 싶지 않으므로 환경 변수를 사용하여 노출할 수 있습니다.

    으아악

    또한 실행 중인 Heroku 애플리케이션에 대한 환경 변수를 설정해야 합니다.

    으아악

    이제 Heroku에서 실행되는 데이터베이스 인스턴스와 데이터베이스에 연결할 수 있는 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
  • 취소회신하다