Node.js & MySQL 01

m1njae·2022년 1월 25일
0

22 Basic Challenge

목록 보기
23/25
post-thumbnail

챌린지의 연장선

어제를 마지막으로 Basic Challenge를 마무리 지었다. 22일동안 꾸준하게 했기 때문에 이 습관을 유지하기 위해서 나는 먹이를 찾는 하이에나처럼 할 일을 찾기 시작했다. 새로운 것을 찾아 공부해볼까라는 생각도 있었지만, 그래도 챌린지를 하면서 학습했던 부분을 계속해서 이어나가보고 싶었다. 아무래도 Node.jsMySQL의 기초를 학습하면서 둘을 연동시켜 활용하지 못했던 것이 아쉬워서 그랬던 것 같다. 다행히도 초심자의 빛 같은 존재인 유튜브 생활코딩 채널에서 Node.js & MySQL 영상강의를 찾을 수 있었고, 챌린지가 종료되었지만 연장선으로 스스로 공부해보자 생각했고 실습강의를 통해서 가능하면 내가 만들었던 간단한 웹 사이트에 적용해보고 싶었다.

MySQL 모듈의 기본 사용법

Node.js에서 MySQL 서버에 접속해서 정보를 가져오고 수정하는 작업에 대해서 알아보는 과정이었다. 아쉽게도 Node.js 기본 모듈 중에서는 MySQL을 제어하는 모듈이 존재하지 않는다. 그래서 구글링을 통해서 인생은 구글 타인이 만들어놓은 모듈을 활용한다.

$ npm install mysql

npm을 통해서 MySQL모듈을 설치해준다.

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '비밀번호',
  database : 'opentutorials'
});
 
connection.connect();
 
connection.query('SELECT * FROM topic', function (error, results, fields) {
  if (error){
  	console.log(error);
  };
  console.log(results);
});
 
connection.end();

이처럼 타인이 작성한 모듈 코드를 mysql.js라는 파일에 작성한 후 실행을 시켰더니,

왜 안 나오나 섭섭할 뻔했다. 처음 공부할 때는 error를 만나면 너무나도 당황스러웠는데, 이제는 너무나 자연스럽게 구글에 접속한다. 인생은 구글

sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client'

이 문제는 클라이언트 프로그램에서 MySQL 패스워드 Plugin 'caching_sha2_password'을 소화하지 못해서 생기는 오류라고 한다.
클라이언트 프로그램에서 사용할 수 있도록 유저의 패스워드 Plugin 'mysql_native_password'으로 바꿔주는 작업을 했다.

ALTER user '유저명'@'localhost' IDENTIFIED WITH mysql_native_password by '비밀번호';


정상적으로 MySQL에 접속하여 출력되는 것을 확인할 수 있었다.

참고

생활코딩 Node.js & MySQL
https://lifeinprogram.tistory.com/22

profile
할 수 있는 것부터 차근차근, 항해자의 공부 기록공간

0개의 댓글