처음부터 만들려니 메이븐 프로젝트부터 꽤 막혔다.
어찌저찌 옛 노트정리를 보고
lombok, Spring Web, Spring Boot DevTools, JDBC API, Spring Data JPA, Spring Data JDBC, MariaDB Driver
를 추가하고 만들 수 있었다.
사실 추가의 이유를 Lombok만 제대로(?) 알고 DevTools는 왜 하는 지 모르고, 나머지들은 어렴풋한 짐작으로 알고있는 상황이라 나중에 왜 추가하는 건지 확인해 봐야 할 거 같다.
나중에 분명 안 하니 이거 작성하고 GPT에게 물어봐야겠다.
여튼 이걸 작성하고 controller, service, repository, entity는 비교적 수월하게 작성할 수 있었는데.
(수월하게 작성했다고 생각했는데 이 글을 작성하면서 보니 그냥 예전에 만든 것 따라친 것 뿐이라 다시 한 번 학습해야 할 거 같다.)
문제는
application.properties였다.
이것도 이전 파일에서 필요한 부분을 복붙해 와 내 db랑 연결하도록 바꿨는데
스프링내장톰캣(?)이 계속 오류가 뜨며 접속이 안 되는 것이었다.
2023-06-12T18:02:32.277+09:00 WARN 29048 --- [ restartedMain] o.m.jdbc.message.server.ErrorPacket : Error: 1045-28000: Access denied for user 'root'@'localhost' (using password: YES)
이렇게 오류가 떠
YES가 인상적이어서 GPT에게 패스워드는 맞는 것이냐고 물어보니 그냥 '비밀번호를 이용해 접속을 시도한 것'이라는 대답이 왔다.
잘 모르지만 'root면 다 접속 돼야 하는 거 아닌가'라는 생각이 있었지만다른 사람들은 user를 새로 생성해서 접속한다고 하니
새로운 user를 만들어봤다GPT의 말로는
CREATE USER '새로운사용자이름'@'localhost' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON mrtongue.* TO '새로운사용자이름'@'localhost';
FLUSH PRIVILEGES;
이렇게 만들라고 해서 만들고
30분 동안 계속 에러로 접속이 안 됐다.
온갖 똥꼬쇼를 하다보니
어떻게 닿은진 모르지만
내 사용자(?)에게 일부 권한만 있고, 데이터베이스 및 테이블에 대한 권한은 포함하지 않는다는 이야기를 들었다.
결국 어찌저찌해
권한을 주게 되었다.
+------------------------------------------------------------------------------------------------------------+
| Grants for yoo@localhost |
+------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `yoo`@`localhost` IDENTIFIED BY PASSWORD '*1' |
+------------------------------------------------------------------------------------------------------------+
1 row in set (0.001 sec)
MariaDB [mysql]> show grants for 'yoo'@'localhost';
+------------------------------------------------------------------------------------------------------------+
| Grants for yoo@localhost |
+------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `yoo`@`localhost` IDENTIFIED BY PASSWORD '*' |
| GRANT ALL PRIVILEGES ON `mrtongue`.* TO `yoo`@`localhost` |
+------------------------------------------------------------------------------------------------------------+
위에서 아래와 같이 권한이 바뀐 거 같고
그 이후로
Postman을 통해 get으로 데이터를 받아올 수 있었다.
이 거 성공하고 너무 기뻐서 한 시간 동안 개 뻘짓하고 있었다.
어서 나머지 작업을 수행해야 할 거 같다.
다음 작업은 fetch를 넣을 거 같다.
'공부' 카테고리의 다른 글
예외처리 (0) | 2023.08.18 |
---|---|
김영한 http강의 - http 메서드 (0) | 2023.08.17 |
김영한 http강의 (0) | 2023.08.17 |
table과 div (0) | 2023.06.11 |
document.querySelector() VS document.getElementById() (0) | 2023.06.11 |