2022-09-02

Error: Access denied for user 'root'@'localhost'
    at Object.createConnection (/workspace/practiceNode/gen/myapp/node_modules/mysql2/promise.js:242:31)
    at main (/workspace/practiceNode/gen/myapp/routes/index.js:49:35)
    at /workspace/practiceNode/gen/myapp/routes/index.js:55:2
    at Layer.handle [as handle_request] (/workspace/practiceNode/gen/myapp/node_modules/express/lib/router/layer.js:95:5)
    at next (/workspace/practiceNode/gen/myapp/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/workspace/practiceNode/gen/myapp/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/workspace/practiceNode/gen/myapp/node_modules/express/lib/router/layer.js:95:5)
    at /workspace/practiceNode/gen/myapp/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/workspace/practiceNode/gen/myapp/node_modules/express/lib/router/index.js:335:12)
    at next (/workspace/practiceNode/gen/myapp/node_modules/express/lib/router/index.js:275:10) {
  code: 'ER_ACCESS_DENIED_NO_PASSWORD_ERROR',
  errno: 1698,
  sqlState: '28000'
}

원인

해당 sql id에 권한이 약해서 그런 것 같다. 새로 계정을 생성해 권한을 부여하는 것이 속편하다

해결법

CREATE USER '새계정'@'localhost' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON *.* TO '새계정'@'localhost';
FLUSH PRIVILEGES;