mac) MYSQL 설치 및 초기설정하기
설치 Homebrew HOMEBREW 패키지 설치를 이용해 설치하는게 가장 간단하고, 나중에 관리하기도 좋습니다. 사실 요즘엔 데이터베이스를 도커에 올리고 볼륨을 따로 빼놓는게 관리하기 좋다고는 생각이
shanepark.tistory.com
위 블로그를 참고하여 brew install mysql 후 이것저것 configuration을 한 뒤 디비를 만들었다.
const mysql = require("mysql");
const connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "123",
database: "cheeper",
});
connection.connect((err) => {
if (err) {
console.log("DB 연결에 실패했습니다.", err);
return;
} else {
console.log("DB 연결에 성공했습니다!");
}
});
Node와 mySQL을 연결시키는 mysql npm 모듈을 다운받은 후 홈페이지의 안내대로 configuration을 한 뒤 connect 시도를 해보니!
환장~~ 이정도로 긴 에러 메세지는 부추를 놀라고 당황스럽게 합니다.
에러메세지를 구글링해보니 mySQL 버전 8 이상에서 지원하는 패스워드 해싱 관련 문제인 것으로 보인다. 최신 버전의 MySQL이 지원하는 비밀번호 해싱을 node의 모듈이 따라가지 못한다는 것이다(...)
두가지 해결방법이 있는데, 노드 프로그램 자체에서 해당 해싱을 적용하는 것과 mySQL 쪽에서 해당 해싱을 적용하지 않는 것이다.
두번째 방법을 사용했다..
Mysql 사용자 추가, 제거 및 권한 부여
Jihun's Development Blog
cjh5414.github.io
1. 일단, mysql에 접근 가능한 새로운 사용자 'nodejs'를 추가했다.
[MySQL 8.0] Nodejs 연동 시 에러 "Client does not support authentication protocol requested by server; consider upgrading My
야무지게 설치하고 Nodejs와 연동하려고 하니까 바로 뙇 에러가 나오네요...😭😭😭😭😂 1. 샘플 코드 사용한 코드는 아래와 같습니다. (예제 링크) // test-mysql.js 파일 var mysql = require('mysql'); var co
1mini2.tistory.com
2. 그 뒤 'nodejs'@'localhost' 사용자의 플러그인을 바꿔준다..
$ ALTER USER 'nodejs'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
이게 핵심인듯. 이 뒤에 connection config의 user을 nodejs로 바꿔준 후 다시 노드 프로그램을 실행하면
하.. 프로젝트 시작 전부터 던질 뻔했잖니. 잘 좀 하자..
참고로 위 해결법을 찾기 전에 홈브류에서 여러번 mysql을 다운/삭제하고 mysql 홈페이지에 가서 커뮤니티 에디션을 다운받고 서버를 뭐 어쩌고저쩌고 하고 pid를 죽이고 살리고. 별 난리를 쳤다ㅜ
mysql 비밀번호를 재설정 하는 방법 링크만 일단 아카이브 용으로 달아놓는다!
[MySQL] Mac MySQL root 비밀번호 초기화하기
이전에 진행했던 프로젝트에서 MySQL 비밀번호를 여러번 바꾸다보니, 도대체 비밀번호가 뭔지 잊어버려서 꽤나 애를 먹었다🥲여러 방법을 시도해봤지만, 제일 한방에 말끔히 진행된 방법을 정
velog.io
프로젝트.. 시작부터 심상치않아.. 간단하게 끝날 줄 알았는데..