작업하고 있는 디렉토리에서 npm install 커맨드를 입력할 경우
package.json에서 여러 정보를 다운로드한다.
예를 들어 package.json에
"dependencies": {
"sanitize-html": "^1.18.2"
}
와 같은 내용이 있다면 npm은 sanitize-html 모듈에 관한 내용들을 다운로드 한다.
그리고 mysql에 필요한 모듈을 다운받기 위해서 npm install을 할 때,
npm install --save mysql와 같이 --save 옵션을 더해주면 현재 dependencies 내용에 mysql에 대한 버전 정보를
추가해준다.
**에러 발생시
나는 ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 와 같은 오류를 겪었다.
mysql.js 파일에서
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '나의 mysql root 비밀번호',
database : 'opentutorials'
}); 와 같이 설정을 했었는데
mysql에 루트계정으로 로그인 후
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
명령을 친 후 flush privileges; 명령을 치고
mysql.js 파일에서 connection 객체의 password를 'password'로 바꿔주니 해결이 되었다.
아마 권한과 privilege에 관한 오류인듯 하다.
**vscode 참고(변수명 한번에 바꾸기, 드래그하여 주석 처리)
드래그 주석 : Shift + Alt + A
변수명 한번에 바꾸기 : 변수 선택 후 Ctrl + Shift + L