Collections:
Transaction Waiting for a Data Lock in MySQL
How Long a Transaction Will Wait for a Data Lock in MySQL?
✍: FYIcenter.com
If you issue a UPDATE or DELETE statement on a row that has an exclusive lock owned by another session, your statement will be blocked to wait for the other session to release the lock. But the wait will be timed out after the predefined innodb_lock_wait_timeout period, which is 50 seconds by default.
The tutorial exercise below shows what will happen if a transaction has been blocked and the lock wait timeout period has been reached:
(session 1) mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> UPDATE fyi_links SET counts='777' where id=101; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0 (Exclusive lock (X) placed on row id=101)
Switch to session 2:
(session 2) mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> UPDATE fyi_links SET counts=888 where id=101; (Blocked to wait for exclusive lock (X) on row id=101) (50 seconds passed) ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction (Transaction terminated with a rollback)
⇒ Error: Lock Wait Timeout Exceeded in MySQL
⇐ Experiment with Data Locks in MySQL
2017-04-28, 2521🔥, 0💬
Popular Posts:
What is dba.FYIcenter.com Website about? dba.FYIcenter.com is a Website for DBAs (database administr...
How To Calculate Age in Days, Hours and Minutes in SQL Server Transact-SQL? On many Web sites, news ...
What is test testing area for? The testing area is provided to allow visitors to post testing commen...
What are single-byte character string data types supported in SQL Server Transact-SQL? Single-byte c...
How To Query Tables and Loop through the Returning Rows in MySQL? The best way to query tables and l...