#MySQL
글 2편
-
Expand/Migrate/Contract란?
컬럼 이관은 Expand/Migrate/Contract를 따랐지만, 인스턴스 1대와 AllAtOnce 배포가 무중단을 막았다
한 줄로 Expand/Migrate/Contract는 스키마 변경을 세 단계로 쪼개는 방식이다. 새 구조를 추가하고(Expand), 데이터를 옮긴 뒤(Migrate), 옛 구조는 한참 뒤에 지운다(Contract). 회사 프로젝트의 운영 DB 이관을 조사해 보니 DDL은 이미 이 ...
-
감사로그 IP 컬럼은 왜 varchar(45)여야 하는가 — STRICT 모드가 드러낸 것
STRICT 모드가 드러낸 감사로그 IP 잘림을 컬럼 확장과 길이 제한으로 처리했다
한 줄로 감사로그의 ip_address 컬럼이 varchar(16)인데 IPv6 주소는 최대 39자다. 지금까지는 DB가 조용히 잘라 저장하고 성공으로 처리했고, STRICT_TRANS_TABLES를 켜자 그 자리가 ERROR 1406으로 드러났다. 컬럼을 45로 넓히고, 애플리케...