<aside> 💡 npm i mysql
</aside>
const mysql = require('mysql');
const connection = mysql.createConnection({
host : 'localhost', // mysql 서버 주소
user: 'DB_user',
password: 'DB_password',
port: 3306, // mysql 포트 (기본)
database:'DB_name'
});
Error: ER_NOT_SUPPORTED_AUTH_MODE<aside> 💡 Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
</aside>
해결 방안 (참고 링크)
ALTER USER '아이디'@'주소' IDENTIFIED WITH mysql_native_password BY '비밀번호';
위와 같이 데이터베이스에서의 비밀번호 저장 방식을 변경하거나, [MySQL2 Package Node.js](https://dori2005.notion.site/MySQL2-Package-350024cd51dd4f8f9e821a4afecd2022) 패키지를 사용하면 된다.
mysql2 패키지가 보다 많은 필요 기능을 지원하기에 후자를 추천한다.
connection.query(`SELECT * FROM table_name WHERE id='${id}'`, (err, rows, fields) => {
if(err) throw err;
console.log(row[0].id);
});
err - 발생한 에러를 전달
rows - 발생한 결과를 전달.
기본적으로 배열로 반환되며, 반환된 요소들을 담고있다.
[ RowDataPacket { id: 'dd', pw: 'dd' } ]
데이터 사용시 - row[0].id
fields - query 요청에 사용된 field(칼럼) 정보를 반환한다.