読者です 読者をやめる 読者になる 読者になる

MySQL:エラー:The total number of locks exceeds the lock table size

上記のエラーが出た場合'innodb_buffer_pool_size'の割り当てを大きくすることで対応可能とのこと。
If you had the error, you can get correct work by assign more memory to 'innodb_buffer_pool_size'.
MySQL:エラー:The total number of locks exceeds the lock table size | 猫型iPS細胞研究所



対応1.デフォルトを変更 change the default.
 永続的に変更したい場合は、my.cnfを変更することで対応可能。今回は扱わない。
If you want to change eternal, you should edit 'my.cnf'. I don,t handle it this time.
日々の覚書: my.cnfのパラメータ優先順位


対応2.セッション中のみ変更 ←今回 change during session.

 結論としては以下で変更可能。can change by follow code.

SET GLOBAL innodb_buffer_pool_size = 変更したいサイズ;


ただし、バッファープールは内部的に複数の領域(インスタンス)に分割されている。

SHOW VARIABLES LIKE "innodb_%_size";

で表示されるinnodb_buffer_pool_instastancesの倍数で設定しないとエラーが出る。
'innodb_buffer_pool_size' should set multiple 'innodb_buffer_pool_instastances'


参考:InnoDB バッファープールをオンラインで変更する - Qiita