DataBase/Mysql
-
[Mysql] docker compose로 mysql 설치 (+m1 맥북)DataBase/Mysql 2022. 6. 25. 21:00
맥북에서 docker를 설치하려면 공식 사이트에서 docker desktop을 설치하고 실행하면 됩니다. 공식 사이트를 들어가보면 다음과 같이 인텔 기반의 맥북과 실리콘(m1, m2) 기반의 맥북 설치버전이 나뉘어진 것을 알 수 있습니다. docker 까지는 설치가 무난하지만 이번에는 m1 기반의 맥북에서 docker로 mysql를 설치해보는 것입니다. (다운 받을 버전은 docker hub 공식 사이트에서 정보를 확인할 수 있다.) 우선 디렉토리 구조에 대해서 살펴보면, - db - conf.d - data - ... - initdb.d - sql 문을 넣어두는 부분 생략가능 - create_table.sql - load_data.sql - docker-compose.yml - .env - my.cnf..
-
[Mysql] Data Truncated errorDataBase/Mysql 2022. 4. 15. 20:51
Mysql 사용 중에 다음과 같은 에러를 보게 되었다. data truncated for column 말 그대로 컬럼 데이터가 잘렸다는 뜻이었다. 마주한 상황은 특정 컬럼에 데이터를 업데이트를 하는 상황이었다. 해당 에러는 일반적으로 db의 설정된 자료형에 범위보다 큰 데이터를 넣는 경우 발생한다. 업데이트를 원하는 데이터는 varchar(10)이었고, 데이터의 크기는 딱 11글자였다. 그렇기에 한글자가 잘려서 표현되었다. 나의 경우에는 dev에는 varchar(20)으로 해서 잘 되었지만 qa서버에서 10으로 해두고 깜빡하고 설정을 해두지 않았기 때문이었다;; 이래서 qa 서버가 존재하는 듯.. varchar 크기를 증가시키면 해당 에러는 해결된다.
-
[Mysql] Incorrect string value .. charset 설정할 것!DataBase/Mysql 2022. 3. 20. 13:25
오랜만에 스프링으로 mysql 연동을 처음부터 시작하려는 데 다음과 같은 에러가 발생하였다. Incorrect string value .. 이런 에러이다. 스프링단에서 디버그 걸어서 확인해보니 이상없이 잘 전달되었는 데?? 왜 한글을 못알아먹는거지 하고 생각해보았다. 스프링에서 이상이 없었으니 mysql과 연동에 문제였다. mysql을 기본으로 설치하면 latin1이라는 인코딩 방식인데 이는 한글을 인식하지 못하기 때문에 발생한 것이다. 그러므로 인코딩에서 가장 많이 사용하는 utf8을 사용하고자 하였다. 더하여 이모티콘도 사용할 수 있도록 하여야하므로 utf8mb4방식을 사용하였다. mysql 설치를 한 곳을 찾아서 다음 작업을 수행하면 된다. vim /etc/mysql/my.cnf my.cnf파일을 ..