ERROR 1206 (HY000): The total number of locks exceeds the lock table size
구글에서 찾아보니 innodb의 row locking 과정에서 메모리가 부족해서 발생하는 문제점인것 같은데 해결 방법은 다음과 같다.
1. LIMIT를 사용해서 한번의 작업량을 줄인다.
mysql> update harvest set status='NEW' where status!='NEW' limit 5000000;
2. buffer 크기를 늘려준다.
[mysqld]
set-variable=innodb_buffer_pool_size=256M
그런데 위 2번을 적용하고 MySQL을 시작하려고 하면 fail이 나와서 1번 방법으로 해결했다. update하고 affected rows가 0이 아니면 또 update하고.. 0이 될때까지 반복~

comments
comments rss (+댓글 쓰러가기)