Spring의 JPA를 사용할 때 JPA는 테이블을 자동으로 생성해주는데, 기본적으로 한글 설정은 되어 있지 않다. 따라서 튜플에 한글 값을 넣게 되면 SQL Error: 1366, SQLState: HY000: incorrect string value 라는 에러가 발생하곤 한다. 첫번째 해결 방법 (급할 때) 이는 내가 만든 MySql 테이블의 언어가 UTF-8로 설정 되지 않아서 발생하는 문제인데, 바로 고치는 방법으로는 다음 명령어로 mysql 터미널에서 직접 한글입력이 가능하도록 변경해주는 방법이 있다. mysql > ALTER TABLE [테이블명] convert to charset utf8;그러나 모든 작업의 자동화는 개발자의 꿈이 아닌가?? 따라서 JPA가 자동으로 테이블을 만들때마다 위 설..
mysql 관련 쿼리 작성 중 아무리 봐도 오류가 없는데 , 테이블에 데이터가 들어가지 않는 문제가 생겼었다. 이유는 테이블 설정을 utf8로 해주지 않아서였는데, 데이터 베이스를 여는 과정에서 return pymysql.connect( host='localhost', user='root', password=password, charset='utf8mb4') 다음과 같이 utf8mb4로 설정해주었기에 괜찮을 줄 알았다. 하지만 데이터베이스 뿐만 아니라 테이블의 charset 또한 utf8로 설정해주어야 한다는 것..! ALTER TABLE (테이블명) convert to charset utf8; mysql 콘솔에서 다음 명령어를 통해 변경을 해주자, 정상적으로 쿼리가 실행되고 데이터가 삽입되었다.
오랜만에 WSL2로 MySQL 서버에 접속하려다가 , 그만 root 암호를 잊어버리는 사태에 직면했다. 이후 비밀번호 재설정을 하고, 여러가지 설정들을 건드리다가 2002번 에러를 직면했다. 소켓에 연결이 안되는 경우 서버 설정에 문제가 있는 경우가 많다고 들어서 아예 재설치를 해주었다. 그러자 이번엔, ERROR 1698 (28000): Access denied for user 'root'@'localhost' 라는 에러를 만나게 되었고.. 여러가지 해결 방법을 시도해보았다. 1. MySQL을 보안 기능 비활성화로 재시작 먼저 첫번째로 'sudo mysqld_safe --skip-grant-tables &' 커맨드를 사용해 보안 기능을 끄고 재시작을 해주었다. 이후 mysql -u root 위 커맨드로..
잘 동작하던 스마트팜 서버에서 갑자기 DB를 불러오지 못하는 현상이 발생했다. 에러를 잡으려고 콘솔에 찍어보려 했는데, 콘솔에 메시지도 전혀 찍히지 않는 것이었다.. 원인을 찾아보니 , forever로 실행한 애플리케이션은 콘솔에 메시지가 찍히지 않는다는 것이다. 생각해보면 당연한것임을,, 그래서 node명령어로 서버 실행 후 콘솔을 확인해보니 Error connecting to database: Error: Packets out of order. Got: 1 Expected: 0 이런 에러메시지가 찍혔고, 데이터베이스와의 연결에 문제가 생긴것을 확인했다. mysql -h DB_IP -u DB_ID -p 위 명령어로 데이터 베이스에 접속을 시도하자 ERROR 1129 (HY000): Host '접속IP'..