본문 바로가기

Databases/MySQL

slave에서 update 버그

ver.

master : mysql 5.1.35

slave : mysql 5.1.58


slave 에서 update 문이 들어 올때 (from master) 간단한 업데이트 문인데도 불구 하고 아래와 같은 에러가 발생하는 경우가 있다. 


[ERROR] 'Rowsize too large. The maximum row size for the used table type, not counting BLOBs, is 8126. Youhave to change some solumn to TEXT or BLOBs' on query. Default database: 'database_name'. Query: 'update database_name.table1 set column_name='가나다' where id=100', Error_code: 1118


장애 당시 해당 컬럼은 char(24)로 되어 있었고 변경하려고 하는 값은 '가나다'로 매우 단순했다.

먼저 해결 방법으로는 optimize table table_name 명령어를 입력 하고 난후 update 구문이 실행되는걸 확인 할 수 있었지만 원인은 확인 할 수 없었다  


구글링 결과 버그 리포트(http://bugs.mysql.com/bug.php?id=60698)에 등재된 known issue로써 아직 정확한 원인은 발혀 지지 않은듯 하고  mysql 5.5.15 까지 해당 이슈가 발생 되었다는걸 확인 할 수 있다.