MySQL - General error: 1205 Lock wait timeout exceeded; try restarting transaction: различия между версиями
Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2023
Admin iph (обсуждение | вклад) (Новая страница: «=== MySQL - General error: 1205 Lock wait timeout exceeded; try restarting transaction === Ошибка General error: 1205 Lock wait timeout exceeded; try res...») |
Admin iph (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | [[Файл:B_1.gif |link=https://bit.ly/3tbFsd6| Доступная цена]] | ||
+ | |||
=== MySQL - General error: 1205 Lock wait timeout exceeded; try restarting transaction === | === MySQL - General error: 1205 Lock wait timeout exceeded; try restarting transaction === | ||
Строка 7: | Строка 9: | ||
Со стороны MySQL сервер можно увеличить этот таймаут, например в 2 раза: | Со стороны MySQL сервер можно увеличить этот таймаут, например в 2 раза: | ||
− | <syntaxhighlight lang=" | + | <syntaxhighlight lang="sql"> |
MariaDB [(none)]> SHOW VARIABLES like '%innodb_lock_wait_timeout%'; | MariaDB [(none)]> SHOW VARIABLES like '%innodb_lock_wait_timeout%'; | ||
+--------------------------+-------+ | +--------------------------+-------+ | ||
Строка 26: | Строка 28: | ||
$ systemctl restart mariadb.service | $ systemctl restart mariadb.service | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | Если проблема не решается через '''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 программисту.