MySQL - General error: 1205 Lock wait timeout exceeded; try restarting transaction: различия между версиями

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2023
Перейти к:навигация, поиск
 
Строка 29: Строка 29:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Если проблема не решается - то нужно ее решать на стороне скрипта через '''промежуточную таблицу''' и '''асинхронной задачи по обновлению данных'''. Для этого нужно обратиться к PHP/SQL программисту.
+
Если проблема не решается через '''innodb_lock_wait_timeout'''  - то нужно ее решать на стороне скрипта через '''промежуточную таблицу''' и '''асинхронной задачи по обновлению данных'''. Для этого нужно обратиться к PHP/SQL программисту.

Текущая версия на 15:02, 14 декабря 2020

Доступная цена

MySQL - General error: 1205 Lock wait timeout exceeded; try restarting transaction

Ошибка

General error: 1205 Lock wait timeout exceeded; try restarting transaction

возникает в MySQL если скрипт пытается обновить запись, которая заблокирована.

Со стороны MySQL сервер можно увеличить этот таймаут, например в 2 раза:

MariaDB [(none)]> SHOW VARIABLES like '%innodb_lock_wait_timeout%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| innodb_lock_wait_timeout | 50    |
+--------------------------+-------+
$ vi /etc/my.cnf
[mysqld]
innodb_lock_wait_timeout = 100

и перезагрузить MySQL сервер:

$ systemctl restart mariadb.service

Если проблема не решается через innodb_lock_wait_timeout - то нужно ее решать на стороне скрипта через промежуточную таблицу и асинхронной задачи по обновлению данных. Для этого нужно обратиться к PHP/SQL программисту.