|
|
|
Транзакции в InnoDB - как отследить зависшую?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Запускаю первую транзакцию (1-ая консоль) без коммита: Код: sql 1. 2. Запускаю вторую транзакцию (2-ая консоль): Код: plsql 1. 2. Как и ожидалось, вторая транзакция зависает и через 50 сек выкидывает ошибку: "ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction". После этого, ни одна транзакция не сможет прочитать SELECT id FROM table WHERE id = 100 FOR UPDATE, и никаким запросом не обновить колонки ряда с id 100, пока первая транзакция не будет закоммичена или не разорвать соединение первой консоли с MySQL. Вопрос: как можно отследить проблему, увидеть незавершенные "висящие" транзакции и как их откатить или завершить (перезапуск MySQL, просьба, не предлагать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2015, 22:55:09 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1833370]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
21ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 285ms |

| 0 / 0 |
