외부 Online DDL Tool 들(pt-online-schema-change, oak-online-alter-table)에 대한 단상

Development / MySQL / DB / devops / OnlineDDL / pt-online-schema-change / oak-online-alter-table

급하게 무중단으로 Table Schema를 바꿔야 할 때, 어김 없이 pt-online-schema-change와 oak-online-alter-table을 사용하고픈 유혹에 빠진다. 결국 이 툴들은 MySQL 자체 Online DDL(ALGORITHM = INPLACE)이 불가능 할 때 최후의 수단으로 사용하는 것인데, (INPLACE 가능/불가능한 경우가 아주 아주 잘 정리된 페이지) 웃긴게, 테이블에 FK가 걸려있으면 이 외부 Online DDL 툴을 사용할…

아무 이유 없이 MySQL Foreign key 안 걸릴 때.

Development / MySQL / DB

진짜 아~무 이유 없이(컬럼 타입도 맞고, 뭐 여튼 이론적으로 절대 FK가 안걸릴 이유가 없는 상태일 때) Error Code: 1215. Cannot add foreign key constraint를 내뿜으며 FK가 안 걸릴 때에는 레퍼런스 테이블에 FK 락이 걸려있을 가능성이 높다. 트랜잭션이 잦은 라이브 상태의 테이블이라면 더더욱! 실제 이를 확인하기 위해서는 SHOW ENGINE…