質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
NestJS

NestJSは、Node.jsアプリケーションを構築するためのフレームワーク。Typescript製でAngularの影響を強く受けています。Expressで利用できるアーキテクチャをそのまま利用でき、保守が簡単なアプリケーションの構築が可能。開発を容易にするCLIも用意されています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

解決済

NestJSでtypeormライブラリを使って、MySQLにアクセスするも接続できない

nakam_taro
nakam_taro

総合スコア12

NestJS

NestJSは、Node.jsアプリケーションを構築するためのフレームワーク。Typescript製でAngularの影響を強く受けています。Expressで利用できるアーキテクチャをそのまま利用でき、保守が簡単なアプリケーションの構築が可能。開発を容易にするCLIも用意されています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

1回答

0評価

0クリップ

369閲覧

投稿2022/07/06 14:41

今はNestJSでWebAPIを作成しようとしています。

問題はタイトルにあるように、NestJSのサーバーを起動しようとした際に、

Error: connect ECONNREFUSED 127.0.0.1:3306 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1138:16) -------------------- at Protocol._enqueue (/略/node_modules/mysql/lib/protocol/Protocol.js:144:48) at Protocol.handshake (/略/node_modules/mysql/lib/protocol/Protocol.js:51:23) at PoolConnection.connect (/略/node_modules/mysql/lib/Connection.js:116:18) at Pool.getConnection (/略/node_modules/mysql/lib/Pool.js:48:16) at /略/src/driver/mysql/MysqlDriver.ts:1234:18 at new Promise (<anonymous>) at MysqlDriver.createPool (/略/src/driver/mysql/MysqlDriver.ts:1231:16) at MysqlDriver.connect (/略/src/driver/mysql/MysqlDriver.ts:387:36) at DataSource.initialize (/略/src/data-source/DataSource.ts:232:27)

というエラーが出てきてしまいます。
TypeOrmの記述は以下です。

import { Module } from '@nestjs/common'; import { UsersModule } from './users/users.module'; import { TypeOrmModule } from '@nestjs/typeorm' @Module({ imports: [ UsersModule, TypeOrmModule.forRoot({ type: 'mysql', host: 'localhost', port: 3306, username: 'root', password: '略', database: '略', autoLoadEntities: true }) ], controllers: [], providers: [], }) export class AppModule { }

何が悪いのかが全く見当ついておらず申し訳ありませんが、アドバイス頂けますと幸いです。

MySQLはDocker Desktopの機能でRunして作ったものと別にMySQLをDockerで入れたもの2つ試してみましたが、
どちらも接続できませんでした。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

hoshi-takanori

2022/07/06 16:35

Docker をお使いなら localhost ではない可能性が…。まず普通に mysql コマンドでつながることを確認しましょう。
nakam_taro

2022/07/07 11:57

コメント頂きましてありがとうございます。 dockerでipが違うということを始めて知りました。 他の人もつまづく人がいるか分かりませんが、解決方法を記載します。 docker ps →mysqlのコンテナIDを調べる docker inspect コンテナID | grep IPAddress →mysqlのIPAddressを調べる 上記を元にIPAddressを調べる こちらで上手くいきました。 https://mebee.info/2021/08/05/post-40153/
nakam_taro

2022/07/07 11:57

回答者の方は本当にありがとうございました! 助かりました。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

NestJS

NestJSは、Node.jsアプリケーションを構築するためのフレームワーク。Typescript製でAngularの影響を強く受けています。Expressで利用できるアーキテクチャをそのまま利用でき、保守が簡単なアプリケーションの構築が可能。開発を容易にするCLIも用意されています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。