質問編集履歴

5

パスワード消し忘れ

2020/09/16 16:19

投稿

yuki30
yuki30

スコア0

test CHANGED
File without changes
test CHANGED
@@ -92,7 +92,7 @@
92
92
 
93
93
  user: 'root',
94
94
 
95
- password: 'yuki8520',
95
+ password: '****',
96
96
 
97
97
  database: 'list_app'
98
98
 

4

質問内容とエラー内容の整理

2020/09/16 16:19

投稿

yuki30
yuki30

スコア0

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- プログラミングを勉強中なのですが
5
+ Progateにてプログラミングを勉強中なのですが
6
6
 
7
7
  Node.jsとMySQLを接続をしたいのですがうまくいきません
8
8
 
@@ -14,55 +14,71 @@
14
14
 
15
15
 
16
16
 
17
- Progateというサイトにて勉強中で、そのサイト内にあった内容を実行
18
-
19
- 最初は自分でコード打ち込み → undefined
20
-
21
- 見本と見比べて訂正、再実行 → undefined
22
-
23
- サイトの見本をまるごとコピペ、内容修正(DB名 PASS等) → undefined
24
-
25
-
26
-
27
- もう、何が原因なのかがわからなくなってしまいました…
28
-
29
-
30
-
31
-
32
-
33
17
 
34
18
 
35
19
  ### 発生している問題・エラーメッセージ
36
20
 
37
21
  ローカルサーバーのテストページは表示されますが
38
22
 
39
- アクセス時の出力がされません
23
+ データベースのテーブルデータがアクセス時の出力がされません
40
-
41
-
42
24
 
43
25
 
44
26
 
45
27
  エラーメッセージ
46
28
 
29
+ > C:\Users\User\test>node app.js
30
+
31
+ error connecting: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
32
+
33
+ at Handshake.Sequence._packetToError (C:\Users\User\test\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14)
34
+
35
+ at Handshake.ErrorPacket (C:\Users\User\test\node_modules\mysql\lib\protocol\sequences\Handshake.js:123:18)
36
+
37
+ at Protocol._parsePacket (C:\Users\User\test\node_modules\mysql\lib\protocol\Protocol.js:291:23)
38
+
39
+ at Parser._parsePacket (C:\Users\User\test\node_modules\mysql\lib\protocol\Parser.js:433:10)
40
+
41
+ at Parser.write (C:\Users\User\test\node_modules\mysql\lib\protocol\Parser.js:43:10)
42
+
43
+ at Protocol.write (C:\Users\User\test\node_modules\mysql\lib\protocol\Protocol.js:38:16)
44
+
45
+ at Socket.<anonymous> (C:\Users\User\test\node_modules\mysql\lib\Connection.js:88:28)
46
+
47
+ at Socket.<anonymous> (C:\Users\User\test\node_modules\mysql\lib\Connection.js:526:10)
48
+
49
+ at Socket.emit (events.js:315:20)
50
+
51
+ at addChunk (_stream_readable.js:295:12)
52
+
47
- コマンドプロンプト内にてundefined
53
+ --------------------
54
+
48
-
55
+ at Protocol._enqueue (C:\Users\User\test\node_modules\mysql\lib\protocol\Protocol.js:144:48)
56
+
49
-
57
+ at Protocol.handshake (C:\Users\User\test\node_modules\mysql\lib\protocol\Protocol.js:51:23)
58
+
50
-
59
+ at Connection.connect (C:\Users\User\test\node_modules\mysql\lib\Connection.js:116:18)
60
+
61
+ at Object.<anonymous> (C:\Users\User\test\app.js:13:12)
62
+
63
+ at Module._compile (internal/modules/cjs/loader.js:1137:30)
64
+
65
+ at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
66
+
67
+ at Module.load (internal/modules/cjs/loader.js:985:32)
68
+
69
+ at Function.Module._load (internal/modules/cjs/loader.js:878:14)
70
+
71
+ at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
72
+
51
- DB名:list_app テーブル名:users
73
+ at internal/main/run_main_module.js:17:47
52
-
53
-
54
-
55
- ### 該当のソースコード
74
+
56
-
75
+
76
+
57
- app.jpファイルにて
77
+ app.js内コード
58
-
59
-
60
-
61
- ```ここに言語を入力
78
+
62
-
63
- const express = require('express');
79
+ ```const express = require('express');
64
-
80
+
65
- const mysql = require('mysql');
81
+ const mysql = require('mysql2');
66
82
 
67
83
 
68
84
 
@@ -76,7 +92,7 @@
76
92
 
77
93
  user: 'root',
78
94
 
79
- password: '******',
95
+ password: 'yuki8520',
80
96
 
81
97
  database: 'list_app'
82
98
 
@@ -120,101 +136,51 @@
120
136
 
121
137
 
122
138
 
123
-
124
-
125
- app.listen(3000)
139
+ app.listen(3001);
140
+
141
+
126
142
 
127
143
  ```
128
144
 
129
-
130
-
131
-
132
-
133
-
134
-
135
- ### 試したこと
136
-
137
-
138
-
139
- MySQLの再DLとPC再起動
140
-
141
- DBとテーブルの削除と再構成
142
-
143
- ファイルからパッケージ、コードを最初から再構成
144
-
145
-
146
-
147
- ```connection.connect(function (err) {
148
-
149
- if (err) {
150
-
151
- console.error(err);
152
-
153
- }
154
-
155
- });
156
-
157
- connection.query('SELECT * from users;', function (err, results) {
158
-
159
- if (err) {
160
-
161
- console.error(err);
162
-
163
- }
164
-
165
- console.log('results');
166
-
167
- console.log(results);
168
-
169
-
170
-
171
- });
172
-
173
- ```
174
-
175
- 試しに上記コードを前回接続エラーを返すコードと入れ替えてみたら
176
-
177
- > code: 'ER_NOT_SUPPORTED_AUTH_MODE',
178
-
179
- > errno: 1251,
180
-
181
- > sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',
182
-
183
- > sqlState: '08004',
184
-
185
- > fatal: true
186
-
187
-
188
-
189
- とエラー出力
190
-
191
- 調べたら「認証プロトコルが認証できません」とのこと
192
-
193
- さらに色々調べてみましたが
194
-
195
- 管理者にてログイン関連の記事が多く現状のログイン状態を調べると
196
-
197
- > mysql> select USER();
198
-
199
- +----------------+
200
-
201
- | USER() |
202
-
203
- +----------------+
204
-
205
- | root@localhost |
206
-
207
- +----------------+
208
-
209
-
210
-
211
- コマンドプロンプトは管理者権限にて実行はしてありますが…
212
-
213
- 認証関係でエラーが出ているのかなとは思いますが
214
-
215
- MySQLクライアントのアップデートを検討…んー???
216
-
217
-
145
+ 使用データベースとテーブル
146
+
147
+ > mysql> show databases;
148
+
149
+ +--------------------+
150
+
151
+ | Database |
152
+
153
+ +--------------------+
154
+
155
+ | information_schema |
156
+
157
+ | list_app |
158
+
159
+ | mysql |
160
+
161
+ | performance_schema |
162
+
163
+ | sakila |
164
+
165
+ | sys |
166
+
167
+ | world |
168
+
169
+ +--------------------+
170
+
171
+ mysql> show tables;
172
+
173
+ +--------------------+
174
+
175
+ | Tables_in_list_app |
176
+
177
+ +--------------------+
178
+
179
+ | items |
180
+
181
+ | users |
182
+
183
+ +--------------------+
218
184
 
219
185
 
220
186
 
@@ -240,8 +206,8 @@
240
206
 
241
207
 
242
208
 
243
- パッケージはインストール済みは確認
209
+ パッケージは下記インストール済みは確認
244
-
210
+
245
- Node.js npm MySQLのインストールも確認済み
211
+ express mysql ejs
246
212
 
247
213
  MySQLのサービスは開始状態

3

内容の訂正

2020/09/16 16:18

投稿

yuki30
yuki30

スコア0

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- サイトにて勉強中で、そのサイト内にあった内容を実行
17
+ Progateというサイトにて勉強中で、そのサイト内にあった内容を実行
18
18
 
19
19
  最初は自分でコード打ち込み → undefined
20
20
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  ローカルサーバーのテストページは表示されますが
38
38
 
39
- アクセス時の出力されません
39
+ アクセス時の出力されません
40
40
 
41
41
 
42
42
 

2

エラー検出とバージョン追加

2020/09/15 06:58

投稿

yuki30
yuki30

スコア0

test CHANGED
File without changes
test CHANGED
@@ -144,8 +144,100 @@
144
144
 
145
145
 
146
146
 
147
+ ```connection.connect(function (err) {
148
+
149
+ if (err) {
150
+
151
+ console.error(err);
152
+
153
+ }
154
+
155
+ });
156
+
157
+ connection.query('SELECT * from users;', function (err, results) {
158
+
159
+ if (err) {
160
+
161
+ console.error(err);
162
+
163
+ }
164
+
165
+ console.log('results');
166
+
167
+ console.log(results);
168
+
169
+
170
+
171
+ });
172
+
173
+ ```
174
+
175
+ 試しに上記コードを前回接続エラーを返すコードと入れ替えてみたら
176
+
177
+ > code: 'ER_NOT_SUPPORTED_AUTH_MODE',
178
+
179
+ > errno: 1251,
180
+
181
+ > sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',
182
+
183
+ > sqlState: '08004',
184
+
185
+ > fatal: true
186
+
187
+
188
+
189
+ とエラー出力
190
+
191
+ 調べたら「認証プロトコルが認証できません」とのこと
192
+
193
+ さらに色々調べてみましたが
194
+
195
+ 管理者にてログイン関連の記事が多く現状のログイン状態を調べると
196
+
197
+ > mysql> select USER();
198
+
199
+ +----------------+
200
+
201
+ | USER() |
202
+
203
+ +----------------+
204
+
205
+ | root@localhost |
206
+
207
+ +----------------+
208
+
209
+
210
+
211
+ コマンドプロンプトは管理者権限にて実行はしてありますが…
212
+
213
+ 認証関係でエラーが出ているのかなとは思いますが
214
+
215
+ MySQLクライアントのアップデートを検討…んー???
216
+
217
+
218
+
219
+
220
+
147
221
  ### 補足情報(FW/ツールのバージョンなど)
148
222
 
223
+ 各種バージョン
224
+
225
+ > >mysql --version
226
+
227
+ mysql Ver 8.0.21 for Win64 on x86_64 (MySQL Community Server - GPL)
228
+
229
+
230
+
231
+ > >node -v
232
+
233
+ v12.18.3
234
+
235
+
236
+
237
+ > >npm -v
238
+
239
+ 6.14.8
240
+
149
241
 
150
242
 
151
243
  パッケージはインストール済みは確認

1

失礼しました、コード部分変更しました。

2020/09/15 06:41

投稿

yuki30
yuki30

スコア0

test CHANGED
File without changes
test CHANGED
@@ -57,6 +57,8 @@
57
57
  app.jpファイルにて
58
58
 
59
59
 
60
+
61
+ ```ここに言語を入力
60
62
 
61
63
  const express = require('express');
62
64
 
@@ -122,6 +124,8 @@
122
124
 
123
125
  app.listen(3000)
124
126
 
127
+ ```
128
+
125
129
 
126
130
 
127
131