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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

3478閲覧

progateのweb開発パス(Node.js)の環境構築で止まっています。

gengen21

総合スコア9

MySQL

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2020/09/07 13:45

編集2020/09/22 11:25

環境構築の「Node.jsアプリケーションとMySQLを接続しよう!」の部分で躓いています。
躓いている部分は最後にコマンドでデータを表示するところです。

![イメージ説明]
実際このように表示したいのですが、エラーで表示できなくなっています。

実際にやったことは以下の通りです。
os:windows10
mysql var:57
コマンドを管理者実行

1.mysqlパッケージをインストール

イメージ説明

2.コマンドでlist_appのデータベースを作成

mysql> CREATE DATABASE list_app; Query OK, 1 row affected (0.00 sec) mysql> USE list_app]; ERROR 1049 (42000): Unknown database 'list_app]' mysql> use list_app; Database changed mysql> SHOW tables; Empty set (0.00 sec) mysql> CREATE TABLE users (id INT AUTO_INCREMENT, name TEXT, PRIMARY KEY (id)) DEFAULT CHARSET=utf8; Query OK, 0 rows affected (0.01 sec) mysql> SHOW tables; +--------------------+ | Tables_in_list_app | +--------------------+ | users | +--------------------+ 1 row in set (0.00 sec) mysql> DESCRIBE users; +-------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | text | YES | | NULL | | +-------+---------+------+-----+---------+----------------+ 2 rows in set (0.00 sec) mysql> SELECT * FROM users; Empty set (0.00 sec) mysql> INSERT INTO users(name) VALUES ('ninjawanko'); Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM users; +----+------------+ | id | name | +----+------------+ | 1 | ninjawanko | +----+------------+ 1 row in set (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | list_app | | mysql | | performance_schema | | sakila | | sys | | test | | world | +--------------------+ 8 rows in set (0.00 sec) mysql> use list_app; Database changed mysql> show tables; +--------------------+ | Tables_in_list_app | +--------------------+ | users | +--------------------+ 1 row in set (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | list_app | | mysql | | performance_schema | | sakila | | sys | | test | | world | +--------------------+ 8 rows in set (0.00 sec) mysql> mysql> CREATE DATABASE list_app; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql> CREATE DATABASE list_app' at line 1 mysql> Query OK, 1 row affected (0.00 sec)

 

use list_app;
create table product (id int, name varchar(10), col varchar(10));

3.ATOMでmysqlの設定情報を記述

const express = require('express'); const mysql = require('mysql'); const app = express(); const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: '[*****]', database: 'list_app' }); connection.connect((err) => { if (err) { console.log('error connecting: ' + err.stack); return; } console.log('success'); }); app.get('/', (req, res) => { connection.query( 'SELECT * FROM users', (error, results) => { console.log(results); res.render('hello.ejs'); } ); }); app.listen(3000);

4.localhost:3000/にアクセスしたときに表示するビューファイルをviews/hello.ejsに作成

<h1>Hello World</h1>

5.コマンドでnode app.jsを管理者実行

C:\Windows\system32>node app.js internal/modules/cjs/loader.js:968 throw err; ^ Error: Cannot find module 'C:\Windows\system32\app.js'  at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)  at Function.Module._load (internal/modules/cjs/loader.js:841:27)  at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)  at internal/main/run_main_module.js:17:47 { code: 'MODULE_NOT_FOUND', requireStack: [] }

上のようなエラーが起こった。

web開発パスのNode.jsの最後の部分なので
これができたら本当に幸いです。
何卒ご協力をよろしくお願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

C:\Windows\system32>node app.js

なぜこんなところで実行しているのですか?

あなたが用意したnodeアプリは以下のフォルダでは?
C:¥Users¥Progate¥list-app

イメージ説明

投稿2020/09/07 14:38

technocore

総合スコア7209

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gengen21

2020/09/08 12:29

すいませんが、list_appで実行する方法がわかりません。
technocore

2020/09/08 13:57

cd(チェンジディレクトリ)してください。 cd c:¥Users¥Progate¥list-app
gengen21

2020/09/09 13:45

コマンドでこのように実行しましたが見つかりませんでした。 >cd list-app 指定されたパスが見つかりません。
technocore

2020/09/09 13:48

なぜ、私のアドバイス通りに実行しないのですか?
Supernove

2020/09/09 13:50

横から失礼します。technocoreさんが提示されているcdコマンドをそのまま実行してください。
gengen21

2020/09/12 13:18 編集

言い忘れましたがそれもやってみたんですが、このように表示されてしまい >cd c:¥Users¥Progate¥list-app 指定されたパスが見つかりません。 実行できませんでした。 何か間違っている部分があれば、ご教授いただければ幸いです。
gengen21

2020/09/12 13:20

もう少し精細な質問が欲しいのであれば、 何なりとお申し付けください。
Supernove

2020/09/12 15:53

今のgengen21さんのlist_appの保存先が「 c:¥Users¥Progate¥list-app」では無かったということしか言えません。list-appフォルダを探してshiftキーを押しながら右クリック→「パスのコピー」をクリックして、もう一度コマンドプロンプト上で、「cd 【コピーしたパス】」という感じで実行してください。 https://www.resume-next.com/easy_way_to_copy_file_paths/
gengen21

2020/09/13 05:31

そうするとこのようなエラーが表示されました。 C:\Users\genge\OneDrive\ドキュメント\list-app>node app.js internal/modules/cjs/loader.js:968 throw err; ^ Error: Cannot find module 'mysql' Require stack: - C:\Users\genge\OneDrive\ドキュメント\list-app\app.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15) at Function.Module._load (internal/modules/cjs/loader.js:841:27) at Module.require (internal/modules/cjs/loader.js:1025:19) at require (internal/modules/cjs/helpers.js:72:18) at Object.<anonymous> (C:\Users\genge\OneDrive\ドキュメント\list-app\app.js:2:15) at Module._compile (internal/modules/cjs/loader.js:1137:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10) at Module.load (internal/modules/cjs/loader.js:985:32) at Function.Module._load (internal/modules/cjs/loader.js:878:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\Users\genge\OneDrive\ドキュメント\list-app\app.js' ] } 何かおかしいところがあればご教授の程、宜しくお願いします。
technocore

2020/09/13 06:40

>Error: Cannot find module 'mysql' npmパッケージのmysqlが見つかりません。インストールしてください。 それから、パスに全角日本語「ドキュメント」が含まれていると誤動作の元です。 半角英数字だけのパスのディレクトリに移動させましょう。
Supernove

2020/09/13 13:33

補足ですが、OneDriveということはクラウドストレージと共有しているということになります。 これもご動作の元になるのと、ストレージの容量を圧迫してしまいます。OneDriveにはWordやパワポなどの書類や画像を保存するときに使って、Webアプリを動かすときにはローカルディレクトリで動かすようにしましょう。
gengen21

2020/09/13 14:15

すいませんが、 ドキュメントではないディレクトリで実行する方法をご教授させていただけませんか。
technocore

2020/09/13 14:25 編集

たとえば、あなたのホームディレクトリ配下に作業用のディレクトリを作ってはいかがですか? 例)C:\Users\genge\nodejs\list-app cdコマンドでそのディレクトリに移動して、パッケージのインストール、コーディングを行ってください。 起動するときは、 node app.js と実行します。
gengen21

2020/09/14 11:14

つまり新しいディレクトリを作成するということですか?
technocore

2020/09/14 11:17

既存のlist-appディレクトリを移動させれば良いです。
gengen21

2020/09/14 11:20

まだまだコマンド初心者なのですいませんが その移動方法を実際のコードでご教授させていただけないでしょうか?
technocore

2020/09/14 11:26

マウスでlist-appのフォルダを移動させてください
gengen21

2020/09/14 11:59

このようにデスクトップで表示されてしまいましたがそのような場合の処置はどうしたらよいでしょうか? C:\Users\genge\OneDrive\デスクトップ\node.appjs
technocore

2020/09/14 12:03

とりあえずOneDriveフォルダからは抜けてください。 Microsoft側のOneDriveと同期するためのフォルダですので。
gengen21

2020/09/14 12:53

一応できたように思えたんですが、また別のエラーが発生してしまい止まってしまいました。 やったことは以下です。 C:\Users\genge>cd C:\Users\genge\list-app C:\Users\genge\list-app>node app.js error connecting: Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: YES) at Handshake.Sequence._packetToError (C:\Users\genge\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14) at Handshake.ErrorPacket (C:\Users\genge\node_modules\mysql\lib\protocol\sequences\Handshake.js:123:18) at Protocol._parsePacket (C:\Users\genge\node_modules\mysql\lib\protocol\Protocol.js:291:23) at Parser._parsePacket (C:\Users\genge\node_modules\mysql\lib\protocol\Parser.js:433:10) at Parser.write (C:\Users\genge\node_modules\mysql\lib\protocol\Parser.js:43:10) at Protocol.write (C:\Users\genge\node_modules\mysql\lib\protocol\Protocol.js:38:16) at Socket.<anonymous> (C:\Users\genge\node_modules\mysql\lib\Connection.js:88:28) at Socket.<anonymous> (C:\Users\genge\node_modules\mysql\lib\Connection.js:526:10) at Socket.emit (events.js:315:20) at addChunk (_stream_readable.js:295:12) -------------------- at Protocol._enqueue (C:\Users\genge\node_modules\mysql\lib\protocol\Protocol.js:144:48) at Protocol.handshake (C:\Users\genge\node_modules\mysql\lib\protocol\Protocol.js:51:23) at Connection.connect (C:\Users\genge\node_modules\mysql\lib\Connection.js:116:18) at Object.<anonymous> (C:\Users\genge\list-app\app.js:13:12) at Module._compile (internal/modules/cjs/loader.js:1137:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10) at Module.load (internal/modules/cjs/loader.js:985:32) at Function.Module._load (internal/modules/cjs/loader.js:878:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) at internal/main/run_main_module.js:17:47
gengen21

2020/09/14 13:05

もしかしたらこれはパスワードが間違っているということなのでしょうか?
technocore

2020/09/14 13:26

コマンドラインでMySQLにはログインできますか? D:¥>mysql -u root -p Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.20 MySQL Community Server - GPL Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. mysql>
gengen21

2020/09/15 09:19

はい、このようにできました。 >net start mysql57 MySQL57 サービスを開始します. MySQL57 サービスは正常に開始されました。 >mysql --user=root --password Enter password: ********* Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 5.7.31-log MySQL Community Server (GPL) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
technocore

2020/09/15 11:39

MySQLが動いたようでおめでとうございます。 データベース・テーブルを作ってテスト用データを保存したら、 Node.jsで接続やselect文の実行など学んでゆけばいいです。
gengen21

2020/09/15 12:23

すいません、自分が質問したいのはmysqlを動かすことではなく、 Node.jsアプリケーションとMySQLを接続することです。 もしかしたら自分の間違いだったり、ご存知かもしれませんが、 一応言っておきました。 あとやりたいことは上のエラーをなおすことです。 宜しくお願いします。
technocore

2020/09/15 12:27

>一応言っておきました。 それくらいわかってますよ。 MySQLが動いたので開発を続けてください。
gengen21

2020/09/15 12:41

すいません、自分の伝え方が間違っていました。 mysqlは最初の質問の前から動いています。 現在レッスンの最後の部分で上のようなエラーが出てしまいました。 作業が止まってしまっています。 それは自分では原因がわからないのであなたのようなできる人に質問をしています。 まだ伝えれていない場合はどんどん言ってください。 そしてあなたの回答を待っています。 面倒くさいかもしれませんがよろしくお願いします。
yuki30

2020/09/16 17:26

横やり失礼します。 const connection = mysql.createConnection({ host: 'localhost', user: 'root', password: '[*****]', database: 'list_app' }); のコード内のpasswordは[]←このかっこ付きで設定したのですか? 私も最初つけてやってしまい、他の質問でこのかっこは要らないと見たことがあります。
gengen21

2020/09/17 11:17 編集

回答ありがとうございます。 パスワードの[]を外しましたが コマンドでまた違うエラーが表示されました。 node app.js error connecting: Error: connect ECONNREFUSED 127.0.0.1:3306 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) -------------------- at Protocol._enqueue (C:\Users\genge\node_modules\mysql\lib\protocol\Protocol.js:144:48) at Protocol.handshake (C:\Users\genge\node_modules\mysql\lib\protocol\Protocol.js:51:23) at Connection.connect (C:\Users\genge\node_modules\mysql\lib\Connection.js:116:18) at Object.<anonymous> (C:\Users\genge\list-app\app.js:13:12) at Module._compile (internal/modules/cjs/loader.js:1137:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10) at Module.load (internal/modules/cjs/loader.js:985:32) at Function.Module._load (internal/modules/cjs/loader.js:878:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) at internal/main/run_main_module.js:17:47
gengen21

2020/09/17 11:12

上のエラーは接続エラーで起こったものです。 接続エラーの場合の処置を詳しい方は教えてください。 宜しくお願いします。
technocore

2020/09/17 14:27

>const mysql = require('mysql'); npmパッケージのmysql2を試してみてください。
gengen21

2020/09/18 11:50 編集

おそらくmysql2を試したと思います。 やったことは以下です。 >const mysql = require('mysql2'); を保存 コマンドで同じように実行 ’mysql2’でエラー 'mysql'で保存し コマンドでまた同じように実行 すると”success”と表示された。
technocore

2020/09/18 11:57

>”success”と表示された。 接続できたようですね。お疲れ様です。
gengen21

2020/09/18 12:26

あとはデータベースを編集するだけでよろしいでしょうか?
gengen21

2020/09/18 13:54

すいません 同じことをやったんですが、また このエラーが起こりました。 node app.js error connecting: Error: connect ECONNREFUSED 127.0.0.1:3306 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) -------------------- at Protocol._enqueue (C:\Users\genge\node_modules\mysql\lib\protocol\Protocol.js:144:48) at Protocol.handshake (C:\Users\genge\node_modules\mysql\lib\protocol\Protocol.js:51:23) at Connection.connect (C:\Users\genge\node_modules\mysql\lib\Connection.js:116:18) at Object.<anonymous> (C:\Users\genge\list-app\app.js:13:12) at Module._compile (internal/modules/cjs/loader.js:1137:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10) at Module.load (internal/modules/cjs/loader.js:985:32) at Function.Module._load (internal/modules/cjs/loader.js:878:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) at internal/main/run_main_module.js:17:47
gengen21

2020/09/19 06:58

補足ですが、npmパッケージのmysql2を試す方法を教えてください。
technocore

2020/09/19 07:09

>おそらくmysql2を試したと思います。 >すると”success”と表示された。 過去に試されて成功しています。 その時と同じ方法で試してみてください。
gengen21

2020/09/19 07:17

それをやりましたが、またエラーが表示されました。 できたらやり方をもう少し精細にご教授させていただけないでしょうか?
gengen21

2020/09/22 06:50 編集

mysql2を試したらできましたが、”success”と表示されただけでした。 データベースがなぜ出力されないかだれか知りませんか?
gengen21

2020/09/22 11:26

補足ですが、最初の質問の コマンドでlist_appデータベースを作成する部分を編集しておきました。
gengen21

2020/10/02 13:45 編集

mysql2を正常に試す方法を教えてください。
gengen21

2020/10/03 04:02 編集

>node app.js success 再びこのように表示することができました。 適当なデータベースの作成方法をだれか教えてください。
Y.H.

2020/10/03 05:12

質問に記載の問題は解決したので解決済みにしましょう。 新たな問題は新しく質問しましょう。
gengen21

2020/10/03 05:14

回答ありがとうございます。 分かりました。
gengen21

2020/10/03 05:15

新たな問題を作っておきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問