Posted By: Anonymous
I’m running the following MySQL
mysql> update customer set account_import_id = 1; ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
I’m not using a transaction, so why would I be getting this error? I even tried restarting my MySQL server and it didn’t help.
The table has 406,733 rows.
You are using a transaction; autocommit does not disable transactions, it just makes them automatically commit at the end of the statement.
What is happening is, some other thread is holding a record lock on some record (you’re updating every record in the table!) for too long, and your thread is being timed out.
You can see more details of the event by issuing a
SHOW ENGINE INNODB STATUS
after the event (in
sql editor). Ideally do this on a quiet test-machine.