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

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

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

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

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Q&A

1回答

7496閲覧

node.js;ER_ACCESS_DENIED_ERROR解決できません!!

fu_kkazu

総合スコア1

MySQL

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

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

0グッド

0クリップ

投稿2020/06/06 00:33

編集2022/01/12 10:55

前提・実現したいこと

progare(プログラミング学習サイト)の学習コースにて、node.jsとMySQLを用いて、ローカル開発環境構築及び、Webアプリ開発の勉強をしています。

node.jsとMySQLを接続し、サーバー起動の際エラーコードが発生しました。
サーバーは起動している為、.ejsファイルの中身はWebに表示されています、
MySQLにて、作成したデータがターミナルに表示されていません。

発生している問題・エラーメッセージ

ターミナル(コマンドプロンプト) $ node app.js error connecting: Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: YES) at Handshake.Sequence._packetToError (/Users/list-app/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14) at Handshake.ErrorPacket (/Users/list-app/node_modules/mysql/lib/protocol/sequences/Handshake.js:123:18) at Protocol._parsePacket (/Users/list-app/node_modules/mysql/lib/protocol/Protocol.js:291:23) at Parser._parsePacket (/Users/list-app/node_modules/mysql/lib/protocol/Parser.js:433:10) at Parser.write (/Users/list-app/node_modules/mysql/lib/protocol/Parser.js:43:10) at Protocol.write (/Users/list-app/node_modules/mysql/lib/protocol/Protocol.js:38:16) at Socket.<anonymous> (/Users/list-app/node_modules/mysql/lib/Connection.js:88:28) at Socket.<anonymous> (/Users/list-app/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 (/Users/list-app/node_modules/mysql/lib/protocol/Protocol.js:144:48) at Protocol.handshake (/Users/list-app/node_modules/mysql/lib/protocol/Protocol.js:51:23) at Connection.connect (/Users/list-app/node_modules/mysql/lib/Connection.js:116:18) at Object.<anonymous> (/Users/list-app/app.js:13:12) at Module._compile (internal/modules/cjs/loader.js:1138:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10) at Module.load (internal/modules/cjs/loader.js:986:32) at Function.Module._load (internal/modules/cjs/loader.js:879:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) at internal/main/run_main_module.js:17:47

該当のソースコード

appjs

1 2const express = require('express'); 3const mysql = require('mysql'); 4 5const app = express(); 6 7const connection = mysql.createConnection({ 8 host: 'localhost', 9 user: 'root', 10 password: '[password]', 11 database: 'list_app' 12}); 13 14connection.connect((err) => { 15 if (err) { 16 console.log('error connecting: ' + err.stack); 17 return; 18 } 19 console.log('success'); 20 }); 21 22 app.get('/', (req, res) => { 23 connection.query( 24 'SELECT * FROM users', 25 (error, results) => { 26 console.log(results); 27 res.render('hello.ejs'); 28 } 29 ); 30 }); 31 32 app.listen(3000);

helloejs

1<h1>Hello World</h1>

sql

1 2mysql> show databases; 3+--------------------+ 4| Database | 5+--------------------+ 6| information_schema | 7| list_app | 8| mysql | 9| performance_schema | 10| sys | 11+--------------------+ 125 rows in set (0.00 sec) 13 14 15mysql> show tables; 16+--------------------+ 17| Tables_in_list_app | 18+--------------------+ 19| users | 20+--------------------+ 211 row in set (0.01 sec) 22 23mysql> describe users; 24+-------+------+------+-----+---------+----------------+ 25| Field | Type | Null | Key | Default | Extra | 26+-------+------+------+-----+---------+----------------+ 27| id | int | NO | PRI | NULL | auto_increment | 28| name | text | YES | | NULL | | 29+-------+------+------+-----+---------+----------------+ 302 rows in set (0.00 sec) 31

mysqlhghg

1mysql> create user 'hghg'@'localhost' identified by '1111'; 2Query OK, 0 rows affected (0.01 sec) 3 4mysql> select user,host from mysql.user; 5+------------------+-----------+ 6| user | host | 7+------------------+-----------+ 8| hghg | localhost | 9| mysql.infoschema | localhost | 10| mysql.session | localhost | 11| mysql.sys | localhost | 12| root | localhost | 13+------------------+-----------+ 145 rows in set (0.00 sec) 15 16mysql> grant all on list_app.*to'hghg'@localhost; 17Query OK, 0 rows affected (0.01 sec) 18 19mysql> quit; 20Bye 21fukazawaikkinoMacBook-Air:list-app fukazawaikki$ mysql --user=hghg --password 22Enter password: 23Welcome to the MySQL monitor. Commands end with ; or \g. 24Your MySQL connection id is 43 25Server version: 8.0.19 Homebrew 26 27Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. 28 29Oracle is a registered trademark of Oracle Corporation and/or its 30affiliates. Other names may be trademarks of their respective 31owners. 32 33Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 34 35mysql> exit; 36Bye 37fukazawaikkinoMacBook-Air:list-app fukazawaikki$ brew services start mysql@5.7 38Service `mysql@5.7` already started, use `brew services restart mysql@5.7` to restart. 39fukazawaikkinoMacBook-Air:list-app fukazawaikki$ node app.js 40error connecting: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 41 at Handshake.Sequence._packetToError (/Users/fukazawaikki/list-app/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14) 42 at Handshake.ErrorPacket (/Users/fukazawaikki/list-app/node_modules/mysql/lib/protocol/sequences/Handshake.js:123:18) 43 at Protocol._parsePacket (/Users/fukazawaikki/list-app/node_modules/mysql/lib/protocol/Protocol.js:291:23) 44 at Parser._parsePacket (/Users/fukazawaikki/list-app/node_modules/mysql/lib/protocol/Parser.js:433:10) 45 at Parser.write (/Users/fukazawaikki/list-app/node_modules/mysql/lib/protocol/Parser.js:43:10) 46 at Protocol.write (/Users/fukazawaikki/list-app/node_modules/mysql/lib/protocol/Protocol.js:38:16) 47 at Socket.<anonymous> (/Users/fukazawaikki/list-app/node_modules/mysql/lib/Connection.js:88:28) 48 at Socket.<anonymous> (/Users/fukazawaikki/list-app/node_modules/mysql/lib/Connection.js:526:10) 49 at Socket.emit (events.js:315:20) 50 at addChunk (_stream_readable.js:295:12) 51 -------------------- 52 at Protocol._enqueue (/Users/fukazawaikki/list-app/node_modules/mysql/lib/protocol/Protocol.js:144:48) 53 at Protocol.handshake (/Users/fukazawaikki/list-app/node_modules/mysql/lib/protocol/Protocol.js:51:23) 54 at Connection.connect (/Users/fukazawaikki/list-app/node_modules/mysql/lib/Connection.js:116:18) 55 at Object.<anonymous> (/Users/fukazawaikki/list-app/app.js:13:12) 56 at Module._compile (internal/modules/cjs/loader.js:1138:30) 57 at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10) 58 at Module.load (internal/modules/cjs/loader.js:986:32) 59 at Function.Module._load (internal/modules/cjs/loader.js:879:14) 60 at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) 61 at internal/main/run_main_module.js:17:47 62 63 64 65

hghgjs

1const express = require('express'); 2const mysql = require('mysql'); 3 4const app = express(); 5 6const connection = mysql.createConnection({ 7 host: 'localhost', 8 user: 'hghg', 9 password: '[1111]', 10 database: 'list_app' 11}); 12 13connection.connect((err) => { 14 if (err) { 15 console.log('error connecting: ' + err.stack); 16 return; 17 } 18 console.log('success'); 19 }); 20 21 app.get('/', (req, res) => { 22 connection.query( 23 'SELECT * FROM users', 24 (error, results) => { 25 console.log(results); 26 res.render('hello.ejs'); 27 } 28 ); 29 }); 30 31 app.listen(3000);

試したこと

・rootのパスワード確認
shell> mysqladmin -u root -pxxxx ver
情報表示された為、パスワードは問題なしと判断

・mysql、node.js,homebrewのアンインストール及び、再インストール

補足情報(FW/ツールのバージョンなど)

ver
node 12.18.0
npm 6.14.4
Homebrew 2.3.0
mysql Ver 14.14 Distrib 5.7.29

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

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

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

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

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

guest

回答1

0

password: '[password]',

passwordには、本当のmysqlのパスワードを記述するのですよ。
サンプルソースをそのままコピペしているのではないですか?

投稿2020/06/06 00:45

technocore

総合スコア7200

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

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

fu_kkazu

2020/06/06 03:12

回答ありがとうございます。 本文の方には、正しいパスワードを入力しています! 一応パスワードは公開しないほうがいいかと思いまして…そのような処置を致しました!
technocore

2020/06/07 01:15

>user: 'root', >password: '[password]', rootで接続しているから拒否されているのかも。 list_app用の管理者userを作ってアクセスしてみてください。 mysql> create user ほげほげ@localhost identified by "パスワード"'; mysql> grant all on list_app.* to ほげほげ@localhost;
fu_kkazu

2020/06/07 20:56

試してみましたが、同じエラーがでます。 user作成のコードを追記しましたので、確認いただきますと幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問