質問
基本的な質問で申し訳ありません。
テスト環境として、mySQLでローカルにDBを作成したのですが、接続方法がわかりません。
接続方法を教えていただけないでしょうか?
試したこと
ググるとnode, express環境での接続方法はたくさん出てくるのですが、自分の環境ではエラーとなってしまいます。以下のコード部分では、実行した一つの例を挙げました。
CLIで、mySQLにログインはできています。
そもそも私の理解が至っていないのが問題なのですが、DBに接続するために何が必要なのか、どういったプロセスで繋がるのかわかっていません。
なんとなく、DBにもアドレスがあって、そのアドレスを使って接続するのかなぁ…と思っています。そして、ローカル環境ではlocalhost+何か(?)がアドレスになるのかな、と。express起動してページ表示させるのも、[localhost:8000] でアクセスできるし。
といった具合に、DBと接続する概念が自分のなかで言語化できていません。どのようなプロセスでDBに接続できるのか、ご教授いただければとても助かります。
よろしくお願いします。
ローカル環境に作ったDB
nico_chatというDBに接続しようとしています。
SQL
1mysql> show databases; 2+--------------------+ 3| Database | 4+--------------------+ 5| information_schema | 6| mysql | 7| nico_chart | 8| performance_schema | 9| sys | 10+--------------------+
ローカルのmySQLデータベースと接続する処理
Node
1const mysql = require('mysql'); 2const connection = mysql.createConnection({ 3 host:'localhost', 4 user:'root', 5 password: 'mysql', 6 database:'nico_chart' 7}); 8connection.connect((err) => { 9 if (err) { 10 console.log('error connecting: ' + err.stack); 11 return; 12 } 13 console.log('success'); 14});
発生しているエラー
Error
1error connecting: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
補足情報(FW/ツールのバージョンなど)
参考としたサイト:https://prog-8.com/docs/nodejs-mysql
環境:Linux, Node, Express, mySQL
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。