問題の説明
ApsaraDB RDS for MySQL で次のエラーが報告されます。
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
information_schema.innodb_trx テーブルのクエリ結果は、trx_mysql_thread_id の値が 0 のトランザクションがコミットされていないことを示しています。

原因
trx_mysql_thread_id の値が 0 のトランザクションは XA トランザクションです。このエラーは、コミットされていない XA トランザクションによってロックが保持されているために発生します。
解決策
XA RECOVER;文を実行して、コミットされていない XA トランザクションをクエリします。
説明XA RECOVER;を実行した後の結果に文字化けが発生した場合は、XA RECOVER CONVERT XID;を実行できます。要件に基づいて、コミットされていない XA トランザクションをロールバックまたはコミットします。
XA COMMIT 構文を使用して XA トランザクションをコミットできます。
xa commit 'gtrid_length(data)','bqual_length(data)',formatID;例:
xa commit '123','_abc',100;XA ROLLBACK 構文を使用して XA トランザクションをロールバックできます。
xa rollback 'gtrid_length(data)','bqual_length(data)',formatID;例:
xa rollback '123','_abc',100;
XA トランザクションの構文の詳細については、「MySQL 公式ドキュメント」をご参照ください。